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

时间:2023-03-08 19:47:17
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 下标开始的指定数目的字符。

三、代码

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