前端常用正则表达式校验--手机号,数字,字母,常用组合,邮箱,中国身份证

返回均为true 或者 false

手机号:

var isPhoneNo = function(str) {
    var reg=new RegExp("^1[3|4|5|7|8][0-9]\d{8}$");
    return reg.test(str);
}

数字

//验证是否是数字
var isNum = function(str){
    var reg = new RegExp("^[0-9]*$");
    return reg.test(str);
}
//至少n位的数字
var isNumN = function(str){
    var reg = new RegExp("^\d{n,}$");
    return reg.test(str);
}
//验证n位的数字
var isNumN = function(str){
    var reg = new RegExp("^\d{n}$");
    return reg.test(str);
}
//验证m-n位的数字
var isNumMN = function(str){
    var reg = new RegExp("^\d{m,n}$");
    return reg.test(str);
}

字母

//是否由26个英文字母组成的字符串
var isLetters = function(str){
    var reg = new RegExp("^[A-Za-z]+$");
    return reg.test(str);
}
//是否由26个大写英文字母组成的字符串
var isLetters = function(str){
    var reg = new RegExp("^[A-Z]+$");
    return reg.test(str);
}
//是否由26个小写英文字母组成的字符串
var isLetters = function(str){
    var reg = new RegExp("^[a-z]+$");
    return reg.test(str);
}

常用字符串组合验证

//是否由数字和26个英文字母组成的字符串
var isLettersNum = function(str){
    var reg = new RegExp("^[A-Za-z0-9]+$");
    return reg.test(str);
}
//是否由数字、26个英文字母或者下划线组成的字符串,至少两种,不能以数字开头
var isLettersNum = function(str){
    var reg = new RegExp("^(?![0-9]+$)(?![a-zA-Z]+$)[A-Za-z_][A-Za-z_0-9]{0,}$");
    return reg.test(str);
}

邮箱

var isEmail= function(str) {
    var reg = new RegExp("^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$");
    return reg.test(str);
}

中国身份证

var isChineseID = function (number){
    number = String( number ).toLowerCase();
    function isDateLegal( y, m, d ) {
        var st = [m, d, y.length < 4 ? '19' + y : y].join( '/' ).replace( /\b0/g, '' ),
        dt = new Date( Date.parse( st ) );
        return [dt.getMonth() + 1, dt.getDate(), dt.getFullYear()].join( '/' ) == st;
    }
    function checkDate( y, m, d ) {
        var st = [m, d, y.length < 4 ? '19' + y : y].join( '/' ).replace( /\b0/g, '' );
        var dt = new Date( Date.parse( st ) );
        return [dt.getMonth() + 1, dt.getDate(), dt.getFullYear()].join( '/' ) == st;
    }
    if ( /^\d{15}$/.test( number ) ) {
        return checkDate.apply( null, number.match( /^.{6}(..)(..)(..)/ ).slice( 1 ) );
    }
    if ( /^\d{17}[\dx]$/i.test( number ) ) {
        var sum = 0, times = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
        for ( var i = 0; i < 17; i++ )
            sum += parseInt( number.charAt( i ), 10 ) * times[i];
        if ( "10x98765432".charAt( sum % 11 ) != number.charAt( 17 ) )
            return false;
        return isDateLegal.apply( null, number.match( /^.{6}(.{4})(..)(..)/ ).slice( 1 ) );
    }

    return false;
}

猜你喜欢

转载自blog.csdn.net/u010622874/article/details/80582317