验证手机,电话号码和身份证的正则表达式

身份证为15位或者18位,15位的全为数字,18位的前17位为数字,最后一位为数字或者大写字母”X“。

与之匹配的正则表达式:(^\d{15}$)|(^\d{17}([0-9]|X)$)

下面以Javascript为例进行说明:
function isIdCardNo(num)

   num = num.toUpperCase(); 
      //身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X。 
   if (!(/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(num))) 
   {
      alert('输入的身份证号长度不对,或者号码不符合规定!\n15位号码应全为数字,18位号码末位可以为数字或X。');
      return false;
   } 

 

规则的国内固定电话和传真的格式基本都是带有0的区号 连接符“-”+电话号码,另外还有可能有分机号,区号有3位、4位,电话号码有7位和8位的;其它格式的有前面不带0的,或者不带连接符的,或者分机号前面使用#号的,或者前面加“ 86”的等等;

区号:前面一个0,后面跟2-3位数字 : 0\d{2,3}

电话号码:7-8位数字: \d{7,8}

分机号:一般都是3位数字: \d{3,}

这样连接起来就是验证电话的正则表达式了:/^((0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/


手机号码前面以1开头,第二位现在是3或者5,后面是9位数字,则:/^1[35]\d{9}$/


看到一个比较强悍的验证:(^(\d{2,4}[-_-—]?)?\d{3,8}([-_-—]?\d{3,8})?([-_-—]?\d{1,7})?$)|(^0?1[35]\d{9}$)
该表达式可以验证那些不小心把连接符“-”写出“-”的或者下划线“_”的等等。

11位电话 ^1[0-9][0-9]{9}$/;
8位电话  /^\d[0-9][0-9]{6}$/;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值