<!DOCTYPE html>
<html>
<head>
<title>zuce.html</title>
<meta name="keywords" content="keyword1,keyword2,keyword3">
<meta name="description" content="this is my page">
<meta name="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
<style type="text/css">
.k1 {
text-align: right;
padding: 3px;
}
</style>
<script type="text/javascript" src="js/My97DatePicker/WdatePicker.js"></script>
</head>
<body>
<form action="post" name="zc">
<div style="width:300px; height: 500px; margin: 0 auto;">
入职时间:<span><input type="text" name="jotime"
οnclick="WdatePicker()"></span>
</div>
<div class="k1">
身份证号:<span><input type="text" name="idcard"></span>
</div>
<div style="text-align: center;">
<span><input type="button" value="注册" οnclick="go1()"></span>
<span><input type="reset" value="重置"></span>
</div>
</form>
</body>
<script type="text/javascript">
function go1() {
if (zc.jotime.value == "") {
alert("入职时间不能为空,请输入!!");
} else if(!zc.idcard.value.match(/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/)) {
/**
自己的表达是无法验证:^\d{15}|(\d{17}(\d|X|x))$/)
网上的可以实现 /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
修改后,无法实现 /^\d{15}|\d{18}|\d{17}(\d|X|x)$/
两者的区别就是,网上的是3个正则表达式用或链接。修改后和自己写的都是一个正则表达式
错误原因:正则表达式在匹配时,有优先级,自己写的表达是,只要前15位匹配上,就是正确的,后面的不起作用
注意:这里还有一个表达式 开始与结束的格式问题,是过了,只有网上格式正确
*/
alert("身份证输入有误,请输入!!");
}
}
</script>
</html>
正则表达式:http://deerchao.net/tutorials/regex/regex.htm#metacode