美文网首页
常用的正则表达式总结

常用的正则表达式总结

作者: 会飞_的鱼 | 来源:发表于2018-03-30 11:23 被阅读11次
    • 邮箱:
    /^([0-9a-zA-Z]+[_.0-9a-zA-Z-]*)@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*$/
    
    • 手机号:
    /^((13[0-9])|(15[0-9])|(18[0-9])|(14[0-9])|(17[0-9])|(199)|(198)|(166))[0-9]{8}$/
    
    • 密码:
    /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/   #8到16位字母和数字的组合
    
    • url:
    /((http|https):\/\/([\w\-]+\.)+[\w\-]+(\/[\w\u4e00-\u9fa5\-\.\/?\@\%\!\&=\+\~\:\#\;\,]*)?)/
    
    • 真实姓名:
    /^[\u4E00-\u9FA5]+$/    #姓名必须必须为汉字
    /^[\u4E00-\u9FA5]{2,8}$/   #姓名必须为2到8个汉字
    
    • 数字验证码:
    /^\d{4}$/  #四位
    /^\d{6}$/  #六位
    
    • 真实身份证号(18位或15位):
    function validate_id(id){
        if(id.match(/^\d{6}(19|20)\d{2}[01]\d{1}[0-3]\d{1}(\d{4}|\d{3}x)$/i)){
            var weight = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
            var checkCode = [1, 0, 'x', 9, 8, 7, 6, 5, 4, 3, 2];
            var s = 0;
            for(var i=0; i<17; i++){
              s += id.substr(i, 1) * weight[i];
            }
            if(checkCode[s%11] != id.substr(17, 1).toLowerCase( )) {
                alert('身份证号不正确');
                return false;
            }
            var year = parseInt(id.substr(6,4),10);
            var month = parseInt(id.substr(10,2),10);
            var day = parseInt(id.substr(12,2),10);
            var date=new Date(month + '/' + day + '/' + year);
            if(date.getFullYear()!=year || date.getDate()!=day || date.getMonth()!=(month-1)){
                alert('身份证号不正确');
                return false;
            }
        }else if(id.match(/^\d{6}\d{2}[01]\d{1}[0-3]\d{1}(\d{3}|\d{2}x)$/i)){
            var year = parseInt('19'+id.substr(6,2),10);
            var month = parseInt(id.substr(8,2),10);
            var day = parseInt(id.substr(10,2),10);
            var date=new Date(month + '/' + day + '/' + year);
            if(date.getFullYear()!=year || date.getDate()!=day || date.getMonth()!=(month-1))
            {
                alert('身份证号不正确');
                return false;
            }
        }else{
            alert('身份证号不正确');
            return false;
        }     
    }
    
    • js使用正则表达式:
    var str  = '18811408557';
    var reg = /^([0-9a-zA-Z]+[_.0-9a-zA-Z-]*)@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*$/;
    if(reg.test(str)){
        return true;
    }else{
        return false;
    }

    相关文章

      网友评论

          本文标题:常用的正则表达式总结

          本文链接:https://www.haomeiwen.com/subject/menbcftx.html