身份证、手机号 正则


转载自:http://www.jb51.net/article/109384.htm

转载自:http://blog.csdn.net/whoamsinclair/article/details/74002199



手机号:

var reg = /^1[3|4|5|7|8][0-9]{9}$/; //验证规则 
  //var reg = /^1[0-9]{10}$/;//可扩展
   //var reg = /^1[3-578]\d{9}$/;同第一行
  var phoneNum = '15507621999';//手机号码
   if(!reg.test(phoneNum)){
   alert("请验证手机号是否输入正确!");
  }

身份证

介绍

xxxxxx yyyy MM dd 375 0     十八位

xxxxxx    yy MM dd   75 0     十五位

地区: [1-9]\d{5}

年的前两位: (18|19|([23]\d))            1800-2399

年的后两位: \d{2}

月份: ((0[1-9])|(10|11|12))

天数: (([0-2][1-9])|10|20|30|31)          闰年不能禁止29+

三位顺序码: \d{3}

两位顺序码: \d{2}

校验码: [0-9Xx]

正则表达式

十八位: ^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$

十五位: ^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$

总:

(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$)


var cardid = "3203219880312000x";
var regcardid = /(^\d{15}$)|(^\d{17}([0-9Xx])$)/;//身份证正则 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X(小写x)。
//var regcardid = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
if (cardid != "" ){
 if(!(regcardid.test(cardid))){
   alert("请检查身份证号是否正确!"); 
   return false;
 }
}



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这里是一个简单的表单示例,包含了邮箱、手机号、邮编、密码、用户名、身份证号的正则验证: ```html <form> <label> 邮箱: <input type="text" name="email" required pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$"> </label> <br> <label> 手机号: <input type="text" name="phone" required pattern="^1[3-9]\d{9}$"> </label> <br> <label> 邮编: <input type="text" name="zipcode" required pattern="^\d{6}$"> </label> <br> <label> 密码: <input type="password" name="password" required pattern="^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$"> </label> <br> <label> 用户名: <input type="text" name="username" required pattern="^[a-zA-Z0-9_-]{4,16}$"> </label> <br> <label> 身份证号: <input type="text" name="idcard" required pattern="^\d{17}[\d|X]$"> </label> <br> <button type="submit">提交</button> </form> ``` 解释一下各个正则表达式的含义: - 邮箱:pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$" - 以小写字母、数字、下划线、百分号、加号、减号、点号为开头,连续出现至少一个 - 后面跟着一个 @ 符号 - 然后是至少一个小写字母、数字、减号、点号,最后是一个小写字母,长度至少为 2 - 手机号:pattern="^1[3-9]\d{9}$" - 以 1 开头 - 第二位是 3-9 中的一个数字 - 后面跟着任意 9 个数字 - 邮编:pattern="^\d{6}$" - 6 个数字 - 密码:pattern="^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$" - 至少 8 个字符 - 必须包含至少一个字母和一个数字 - 可以包含字母、数字 - 用户名:pattern="^[a-zA-Z0-9_-]{4,16}$" - 4-16 个字符 - 可以包含大小写字母、数字、下划线、减号 - 身份证号:pattern="^\d{17}[\d|X]$" - 18 位字符 - 前面 17 位是数字 - 最后一位是数字或者大写字母 X
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值