微信扫一扫打赏支持

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>

 

posted @ 2018-05-27 21:52  范仁义  阅读(1382)  评论(0编辑  收藏  举报