1. 首页
  2. IT资讯

正则:手机验证,密码验证

regex 正则表达式

关于更多日常使用的公共类的操作方法,可以关注下小滑轮网站http://www.feiaci.com/#/self/…

  1. 是否由 26 个英文字母组成的字符串
  2. 是否由 26 个英文字母的大写组成的字符串
  3. 是否由 26 个英文字母的小写组成的字符串
  4. 是否为数字
  5. 是否为中文
  6. 是否为手机号
  7. 是否电子邮件
  8. 是否为座机号
  9. 是否为身份证
  10. 密码验证
  11. 邮政编码
  12. 是否为qq号
  13. 是否为金额
  14. 是否为Url
  15. 是否为ip
  16. 严格的身份证校验
/**  
 * 是否由 26 个英文字母组成的字符串 * @param val string  
 * @return {boolean}  
 */function isAZaz(val) {  
    return /^[A-Za-z]+$/.test(val);  
}  
  
/**  
 * 是否由 26 个英文字母的大写组成的字符串 * @param val  
 * @return {boolean}  
 */function isAZ(val) {  
    return /^[A-Z]+$/.test(val);  
}  
  
/**  
 * 是否由 26 个英文字母的小写组成的字符串 * @param val  
 * @return {boolean}  
 */function isaz(val) {  
    return /^[a-z]+$/.test(val);  
}  
  
/**  
 * 是否为数字 * @return {boolean}  
 */function isNumber(str) {  
    return /^[0-9]$/.test(str)  
}  
  
/**  
 * 是否为中文 * @return {boolean}  
 */function isChinese(str) {  
    return /^[u4E00-u9FA5]+$/.test(str)  
}  
  
/**  
 * 是否为手机号 * @return {boolean}  
 */function isPhone(str) {  
    return /^1[3|4|5|6|7|8|9][0-9]{9}$/.test(str)  
}  
  
/**  
 * 是否电子邮件 * @param val  
 * @return {boolean}  
 */function isEmail(val) {  
    return /^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$/.test(val) || /w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*/.test(val);  
}  
  
/**  
 * 是否为座机号 * @return {boolean}  
 */function isTel(str) {  
    return /^(0d{2,3}-d{7,8})(-d{1,4})?$/.test(str)  
}  
  
/**  
 * 是否为身份证 * @return {boolean}  
 */function isIDCard(str) {  
    return /(^d{15}$)|(^d{18}$)|(^d{17}(d|X|x)$)/.test(str)  
}  
  
/**  
 * 密码验证 * 密码以字母开头,长度在6~18之间,只能包含字母、数字和下划线 * @return {boolean}  
 */function isPWD(str) {  
    return /^[a-zA-Z]w{5,17}$/.test(str)  
}  
  
/**  
 * 邮政编码 * @return {boolean}  
 */function isPostal(str) {  
    return /[1-9]d{5}(?!d)/.test(str)  
}  
  
/**  
 * 是否为qq号 * @param str  
 * @return {boolean}  
 */function isQQ(str) {  
    return /^[1-9][0-9]{4,9}$/.test(str)  
}  
  
/**  
 * 是否为金额 * 金额(小数点2位) * @param str  
 * @return {boolean}  
 */function isMoney(str) {  
    return /^d*(?:.d{0,2})?$/.test(str)  
}  
  
/**  
 * 是否为Url * @param str  
 * @return {boolean}  
 */function isUrl(str) {  
    return /(http|ftp|https)://[w-_]+(.[w-_]+)+([w-.,@?^=%&:/~+#]*[w-@?^=%&/~+#])?/.test(str)  
}  
  
/**  
 * 是否为ip * @param str  
 * @return {boolean}  
 */function isIp(str) {  
    return /((?:(?:25[0-5]|2[0-4]d|[01]?d?d).){3}(?:25[0-5]|2[0-4]d|[01]?d?d))/.test(str)  
}  
  
/**  
 * 严格的身份证校验 */function isStrictIDCard(sId) {  
    if (!/(^d{15}$)|(^d{17}(d|X|x)$)/.test(sId)) {  
        alert("你输入的身份证长度或格式错误");  
 return false; }  
    //身份证城市  
 let aCity = {  
        11: "北京",  
 12: "天津",  
 13: "河北",  
 14: "山西",  
 15: "内蒙古",  
 21: "辽宁",  
 22: "吉林",  
 23: "黑龙江",  
 31: "上海",  
 32: "江苏",  
 33: "浙江",  
 34: "安徽",  
 35: "福建",  
 36: "江西",  
 37: "山东",  
 41: "河南",  
 42: "湖北",  
 43: "湖南",  
 44: "广东",  
 45: "广西",  
 46: "海南",  
 50: "重庆",  
 51: "四川",  
 52: "贵州",  
 53: "云南",  
 54: "西藏",  
 61: "陕西",  
 62: "甘肃",  
 63: "青海",  
 64: "宁夏",  
 65: "新疆",  
 71: "台湾",  
 81: "香港",  
 82: "澳门",  
 91: "国外"  
 };  
 if (!aCity[parseInt(sId.substr(0, 2))]) {  
        alert("你的身份证地区非法");  
 return false; }  
  
    // 出生日期验证  
 let sBirthday = (  
            sId.substr(6, 4) +  
            "-" +  
            Number(sId.substr(10, 2)) +  
            "-" +  
            Number(sId.substr(12, 2))  
        ).replace(/-/g, "/"),  
 d = new Date(sBirthday);  
 if (  
        sBirthday !=  
        d.getFullYear() + "/" + (d.getMonth() + 1) + "/" + d.getDate()  
    ) {  
        alert("身份证上的出生日期非法");  
 return false; }  
  
    // 身份证号码校验  
 let sum = 0,  
 weights = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2],  
 codes = "10X98765432";  
 for (let i = 0; i < sId.length - 1; i++) {  
        sum += sId[i] * weights[i];  
 }  
    let last = codes[sum % 11]; //计算出来的最后一位身份证号码  
 if (sId[sId.length - 1] != last) {  
        alert("你输入的身份证号非法");  
 return false; }  
    return true;  
}

本文来自投稿,不代表程序员编程网立场,如若转载,请注明出处:http://www.cxybcw.com/203115.html

联系我们

13687733322

在线咨询:点击这里给我发消息

邮件:1877088071@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code