js进阶正则表达式15验证身份证号(|符号的使用:var reg=/^\d{17}[\d|X]$|^\d{15}$/)(str的方法substr)...

js进阶正则表达式15验证身份证号(|符号的使用:var reg=/^\d{17}[\d|X]$|^\d{15}$/)(str的方法substr

一、总结

1、|符号的使用:var reg=/^\d{17}[\d|X]$|^\d{15}$/ //2、|运算符的使用 3、末尾位的选择这里用的中括号而不是小括号 4、因为是选择,这个结束符是两个

2、str的方法substr的使用  var data=str.substr(6,4)+''+str.substr(10,2)+''+str.substr(12,2)+''

 

二、js进阶正则表达式15验证身份证号

练习2:验证身份证号码

  • 实例描述:

    验证用户输入的身份证号码是否合法

  • 案例要点:
    1. 身份证号码有15位和18位两种
    2. 18位身份证号最后一位是数字或X

注:身份证号码由地址码,出生日期,顺序码组成

substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。

 

三、代码

 1 <!DOCTYPE html>
 2 <html lang="zh-cn">
 3 <head>
 4   <meta charset="utf-8">
 5   <title>课堂演示</title>
 6   <style type="text/css">
 7   </style>
 8 </head>
 9 <body>
10 <form name='myform' action=" " method="get" >
11     身份证号码:<input type="text" name="sfz" pattern="^\d{15}$|^\d{17}[\d|X]$">
12     <input type="submit"> <input type="reset" value="重置">
13   </form> <br>
14   <form name='myform' action=" " method="get"
15   onsubmit="check()" >
16     身份证号码:<input type="text" id="sfz" name="sfz">
17     <input type="submit"> <input type="reset" value="重置">
18   </form>
19   <script>
20      // var str1='12345619901010252X'
21      // var str2='123456901010252'
22      // var reg=/^\d{15}$|^\d{17}[\d|X]$/
23       // alert(reg.test(str1))
24      function check(){
25       var str=document.getElementById('sfz').value;
26       var data=str.substr(6,4)+''+str.substr(10,2)+''+str.substr(12,2)+''  //1、str的方法substr的使用
27       //var str=myform.sfz.value;
28       var reg=/^\d{17}[\d|X]$|^\d{15}$/    //2、|运算符的使用  3、末尾位的选择这里用的中括号而不是小括号  4、因为是选择,这个结束符是两个
29       if (reg.test(str)) {
30         alert('格式正确')
31         alert('您的出生日期'+data)
32       }else{
33         alert('格式不正确,请重新输入')
34       }   
35     }
36 
37   </script>
38 </body>
39 </html>

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值