最新js验证手机号码、电话号码、身份证号码正则表达式代码

js验证手机号码、电话号码、身份证号码正则表达式

手机号码正则表达式验证

function checkPhone(){ 
    var phone = document.getElementById('phone').value;
    if(!(/^1[34578]\d{9}$/.test(phone))){ 
        alert("手机号码有误,请重填");  
        return false; 
    } 
}

或者javascript

function checkPhone(){ 
    var phone = document.getElementById('phone').value;
    if(!(/^1(3|4|5|7|8)\d{9}$/.test(phone))){ 
        alert("手机号码有误,请重填");  
        return false; 
    } 
}

或者java

function checkPhone(){ 
    var phone = document.getElementById('phone').value;
    if(!(/^1(3,4,5,7,8)\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。web

下面简单的解释一下:正则表达式

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

原本只容13,15,17,18,开头的手机号,可是听说有14开头的号码,因此添加了14;固然,若是之后要是发展成有16,或者19,之类的开头号码的话,在添加到正则表达式中便可spa

固定电话号码正则表达式

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)$)