正则替换(replace)
注:常规replace方法只会替换一次,需使用正则才能全部替换1
str.replace(new RegExp('abc', 'gi'), 'def') // 将abc字符串全部替换从def字符串,g表示从头到尾扫描,i表示不区分替换字符串的大小写
从字符串中截取数字:
1
str.replace(/[^0-9]/ig, '')
去除所有空格
1
str.replace(/\s+/g, '')
去掉左空格
1
str.replace(/^\s*/, '')
去掉右空格
1
str.replace(/\s*$/g, '')
去掉左右空格
1
str.replace(/(^\s*)|(\s*$)/g, '')
正则判断(test)
说明:对于正则判断手机号,有很多通过号段来判断,个人认为这样不是很严谨,号段可能会增加,所以只需判断首位为1且11位即可
首位是1且11位的手机号
1
/^1\d{10}$/.test(phone) // 返回true 或 false
首位是1且11位的手机号(去除空格)
1
/^1\d{10}$/.test(phone.replace(/(^\s*)|(\s*$)/g, '')) // 返回true 或 false
中国姓名(中文包括·或•)
1
/^[\u2E80-\uFE4F]+([·•][\u2E80-\uFE4F]+)*$/.test(str) // 返回true 或 false
email
1
/^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/.test(email) // 返回true 或 false
身份证号
1
/^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/.test(id) // 返回true 或 false
URL
1
/^https?:\/\/(([a-zA-Z0-9_-])+(\.)?)*(:\d+)?(\/((\.)?(\?)?=?&?[a-zA-Z0-9_-](\?)?)*)*$/i.test(url) // 返回true 或 false
邮编
1
/^[1-9]\d{5}(?!\d)$/.test(postcode) // 返回true 或 false
输入的为纯数字
1
/^\d+$/.test(number) // 返回true 或 false
输入n个纯数字
1
/^\d{n}$/.test(number) // 返回true 或 false
输入m到n的纯数字
1
/^\d{m,n}$/.test(number) // 返回true 或 false
纯英文字母
1
/^[a-z]+$/i.test(enCode) // 返回true 或 false
大写应为字母
1
/^[A-Z]+$/.test(enCode) // 返回true 或 false
英文字母或数字组成
1
/^[a-z0-9]+$/i.test(code) // 返回true 或 false
英文字母和数字组合,区分大小写,6~16位
1
/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$/i.test(code) // 返回true 或 false
英文字母、数字和下划线组成
1
/^\w+$/.test(code) // 返回true 或 false
数字和.组成的浮点数
1
/^(([1-9][0-9]*\.[0-9][0-9]*)|([0]\.[0-9][0-9]*)|([1-9][0-9]*)|([0]{1}))$/.test(str)
可用来检测金额,只能包含数字和.,且不能是00.123这种格式
从UA判断是否为IE浏览器
1
/msie (\d+\.\d+)/i.test(ua) // 返回true 或 false
从UA判断是否为webkit内核
1
/webkit/i.test(ua) // 返回true 或 false
从UA判断是否为chrome内核
1
/chrome\/(\d+\.\d+)/i.test(ua) // 返回true 或 false
从UA判断是否为firefox内核
1
/firefox\/(\d+\.\d+)/i.test(ua) // 返回true 或 false
从UA判断是否为safari浏览器
1
/(\d+\.\d)?(?:\.\d)?\s+safari\/?(\d+\.\d+)?/i.test(ua) // 返回true 或 false
从UA判断是否是微信浏览器
1
ua.indexOf('micromessenger') > -1
从UA判断是否是QQ浏览器
1
ua.indexOf('qq') > -1
正则判断是否是微信浏览器
1
/(micromessenger)\//.test(ua)
正则判断是否是QQ浏览器
1
/(qq)\//.test(ua)
正则判断微信浏览器或QQ浏览器
1
/(micromessenger|qq)\//.test(ua)
从UA判断是否为iPhone
1
/iphone/i.test(ua) // 返回true 或 false
从UA判断是否为iPad
1
/ipad/i.test(ua) // 返回true 或 false
从UA判断是否为安卓
1
/android/i.test(ua) // 返回true 或 false
从UA判断安卓版本号
1
ua.substr(ua.indexOf('android') + 8, 3)
从appVersion判断iOS版本
1
parseInt(((navigator.appVersion).match(/OS (\d+)_(\d+)_?(\d+)?/))[1], 10)
从UA判断是否为移动端
1
/(nokia|iphone|android|ipad|motorola|^mot\-|softbank|foma|docomo|kddi|up\.browser|up\.link|htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|blackberry|alcatel|amoi|ktouch|nexian|samsung|^sam\-|s[cg]h|^lge|ericsson|philips|sagem|wellcom|bunjalloo|maui|symbian|smartphone|midp|wap|phone|windows ce|iemobile|^spice|^bird|^zte\-|longcos|pantech|gionee|^sie\-|portalmmm|jig\s browser|hiptop|^ucweb|^benq|haier|^lct|opera\s*mobi|opera\*mini|320x320|240x320|176x220)/i