欢迎来到 54818模板网!这是一个yzmcms的模板分享站。

javascript正则匹配身份证号及手机和座机号码

相关案例演示

    做一个表单项目需要提交个人信息,名字、性别、年龄、身份证号、出生日期及电话号码。于是我就想到用javascript加正则规则来验证身份证号码、手机号及座机号码,同时通过身份证号来提取出生日期及性别,并计算出年龄。

检测身份证代码如下:

//获取ID为sfz的输入框的值;
sfz=$("#sfz").val();
//身份证正则规则;
var reg = /(^\d{17}(\d|X)$)/;
if (reg.test(sfz) === false) {
	alert('身份证格式不对!');
	//return false;
}else{
	//获取出生日期;
	var re_eighteen = /^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/;
	var arr_data = sfz.match(re_eighteen); // 正则取号码内所含出年月日数据
	var year = arr_data[2];
	var month = arr_data[3];
	var day = arr_data[4];
	
	//通过函数转换成时间格式;
	var sr = new Date(year + '/' + month + '/' + day);
	
	//这里是给ID为csrq的输入框赋值;
	$("#csrq").val(sr.getTime()/1000);

	//计算年龄;
	var xzsj = new Date();
	var nj= xzsj.getFullYear() - sr.getFullYear()
	//getMonth函数获取月份是从0开始
	var xzy = xzsj.getMonth()+1;
	var xzr = xzsj.getDate();
	if(xzy<10) xzy='0'+xzy;
	if(xzr<10) xzr='0'+xzr;
	if (parseInt('1' + xzy + xzr) < parseInt('1' + month + day)) {
		nj-=1;
	}

	//给ID为nj的输入框赋值;
	$("#nj").val(nj);

	//判断性别
	if (parseInt(sfz.charAt(16)) % 2 == 0) {
	        //给ID为xb的输入框赋值;
		$("#xb").val(0); // 女生
	}else{
		$("#xb").val(1); // 男生
	}
}


检测手机及座机代码如下:

//参数为dh时执行js;
if(cs=='dh'){
        //获取输入框的值;
	dh=$("#"+cs).val();
	//手机号和座机号码(除了7位数的座机号码还有8开头的8位座机号码)的正则规则;
	var reg = /^(1[3|4|5|7|8|9]\d{9}|8?\d{7})$/;
	if (reg.test(dh) === false) {
		alert('电话号码格式不对!');
		//return false;
	}
}


    作者:54818模板网 关注:2254 时间:2020-05-13 14:04:51
    相关网站教程