js最新手机号码、电话号码、身份证正则表达式及检测判断

手机号码正则表达式验证

最严谨:

      ```

/^[1](([3][0-9])|([4][5-9])|([5][0-3,5-9])|([6][5,6])|([7][0-8])|([8][0-9])|([9][1,8,9]))[0-9]{8}$/

```

简化方便:

```

/^[1]([3-9])[0-9]{9}$/

```

测试

```

vartelStr=/^[1](([3][0-9])|([4][5-9])|([5][0-3,5-9])|([6][5,6])|([7][0-8])|([8][0-9])|([9][1,8,9]))[0-9]{8}$/;varinputStr="18810998988";if(!(telStr.test(inputStr))){flag='手机号码输入不规范';}else{msg="手机号码规范";}

```

```

function checkPhone(){

    var phone = document.getElementById('phone').value;

    if(!(/^1[3456789]\d{9}$/.test(phone))){

        alert("手机号码有误,请重填"); 

        return false;

    }

}

```

```

function checkPhone(){

    var phone = document.getElementById('phone').value;

    if(!(/^1(3|4|5|6|7|8|9)\d{9}$/.test(phone))){

        alert("手机号码有误,请重填"); 

        return false;

    }

}

```

正则里面的中括号[]只能匹配其中一个,如果要匹配特定几组字符串的话,那就必须使用小括号()加或|,我还以为在中括号中也能使用或|符号,原来|在中括号里面也是一个字符,并不代表或。[3457]匹配3或者4或者5或者7,而(3457)只匹配3457,若要跟前面一样可以加或(3|4|5|7)。[34|57]匹配3或者4或者|或者5或者7.而(34|57)能匹配34或者57。

下面简单的解释一下:·

^1(3|4|5|7|8)\d{9}$

表示以1开头,第二位可能是3/4/5/7/8等的任意一个,在加上后面的\d表示数字[0-9]的9位,总共加起来11位结束。

固定电话号码正则表达式

```

function checkTel(){

var tel = document.getElementById('tel').value;

if(!/^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/.test(tel)){

alert('固定电话有误,请重填');

return false;

}

}

```

身份证正则:

```

//身份证正则表达式(15位)

isIDCard1=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;

//身份证正则表达式(18位)

isIDCard2=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/;

身份证正则合并:(^\d{15}$)|(^\d{17}([0-9]|X)$)

```


使用:·

test()方法在字符串中查找是否存在指定的正则表达式,并返回布尔值,如果存在则返回true,否则返回false。

```

var pattern = new RegExp('Box','i');

var str = 'box';

alert(pattern.test(str)); //true

var pattern = /Box/i;

var str = 'box';

alert(pattern.test(str)); //true

var pattern = /Box/i;

var str = 'This is a box';

alert(pattern.test(str)); //true

```

你可能感兴趣的:(js最新手机号码、电话号码、身份证正则表达式及检测判断)