js RegExp正则表达式常见用例 判断输入是否为数字、字母、下划线组成 判断字符串是否全部为字母 判断字符串是否全部为数字 判断是否带有小数 判断是否中文名称组成 判断手机号 判断身份证 判断验证码 判断邮件地址是否合法 判断是否是emoji表情 获取字符长度,中文算2,emoji表情算2,英文算1 判断IOS | 安卓
判断输入是否为数字、字母、下划线组成
function isValid ( str) { return / ^ \w+ $/ . test ( str) ; }
let str = "1234abd__" isValid ( str )
判断字符串是否全部为字母
val = "abc123"
var isletter = /^[a-zA-Z]+$/ . test ( val) ;
判断字符串是否全部为数字
val = "123456"
var isnum = /^\d+$/ . test ( val) ;
判断是否带有小数
function isDecimal(strValue ) { var objRegExp= /^\d+\.\d+$/;return objRegExp.test(strValue);
}
判断是否中文名称组成
function ischina(str) {var reg=/^[\u4E00-\u9FA5]{2,4}$/; /*定义验证表达式*/return reg.test(str); /*进行验证*/
}
判断手机号
checkUserPhone(phone) {if (!/^1[3456789]\d{9}$/.test(phone)) {return false;}return true;},//function isTelCode(str) {var reg= /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/;return reg.test(str);
}
判断身份证
checkIdCard(code) {if (code.length == 18) {code = code.split('');// ∑(ai×Wi)(mod 11)// 加权因子var factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];// 校验位var parity = [1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2];var sum = 0;var ai = 0;var wi = 0;for (var i = 0; i < 17; i++) {ai = code[i];wi = factor[i];sum += ai * wi;}if (parity[sum % 11] != code[17]) {return false;} else {return true;}} else {return false;}},
判断验证码
checkSmsCode(code) {return (/^\d{6}$/.test(code));},//function isStudentNo(str) {var reg=/^[0-9]{6}$/; /*定义验证表达式*/return reg.test(str); /*进行验证*/
}
判断邮件地址是否合法
function IsEmail(str) {var reg=/^\w+@[a-zA-Z0-9]{2,10}(?:\.[a-z]{2,4}){1,3}$/;return reg.test(str);
}
判断是否是emoji表情
isEmoji(str) {return str.match(/\ud83c[\udf00-\udfff]|\ud83d[\udc00-\ude4f]|\ud83d[\ude80-\udeff]/g) != null},
获取字符长度,中文算2,emoji表情算2,英文算1
getStringLength(str) {if (!str) return 0;let reg = /^[\u3220-\uFA29]+$/,len = 0,test = '',strLen = str.length;for (let i = 0; i < strLen; i++) {if (i < strLen - 1) {// 由于emoji表情,js字符中算两个test = str[i] + str[i + 1];if (this.isEmoji((test))) {len += 2;i++;continue;}}if (reg.test(str[i])) {len += 2;} else {len++;}}return len;},
判断IOS | 安卓
{isAndroid: /android|adr/.test(navigator.userAgent)isiOS:!!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)isIOS: /iphone|ipod|ipad/i.test(navigator.userAgent) || !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);isQQ: !/micromessenger/i.test(navigator.userAgent) && /qq/i.test(navigator.userAgent), // 手QisWxApp: window.__wxjs_environment === 'miniprogram' // 微信小程序
}