在web开发中,表单占有一席之地,用户注册,登陆,找回密码,设置一些个性化的东西都需要表单,网站和用户之间的交流全靠表单,在程序猿圈中,有一句话特别出名 input is evil (输入是邪恶的),如果任凭用户输入,而不做校验,这是件很恐怖的事情,今天就谈谈使用正则表达式和js或者jQuery的语法对用户输入在客户端进行校验。
1)用户名只包含大小写英文、数字和下划线。同时用户名长度在6-15之间。
<html>
<head>
<script language="javascript" type="text/javascript">
function checkusername()
{
var regex=/^[0-9A-Za-z_]{6,15}$/
var s=$("#username");
if( regex.test(s)==false){
alert("用户名格式错误");
return;
}
</script>
</head>
<body>
<form id="form1">
<input type="text" id="username" />
<input type="button" onclick="checkusername();" value="验证" />
</form>
</body>
</html>
2 密码是6-16位字母与数字的混合体
`<html>
<head>
<script language="javascript" type="text/javascript">
function checkpassword()
{
var passwordCheck = /^(?=\d{0,9}[a-zA-Z])(?=[a-zA-Z]{0,9}\d)[a-zA-Z0-9]{6,16}$/;
var s=$("#password");
if( passwordCheck .test(s)==false){
alert("password格式错误");
return;
}
</script>
</head>
<body>
<form id="form1">
<input type="password" id="password" />
<input type="button" onclick="checkpassword();" value="验证" />
</form>
</body>
</html>
3 身份证号校验 15位数字或者18位数字或者17位数字+最后一位校验位
<html>
<head>
<script language="javascript" type="text/javascript">
function checkidentify()
{
var identify = $("#identify");
// 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X
var identifycheck = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/; if(identify!=""&&identifycheck.test(identify)===false) {
alert("身份证号输入不合法");
return false;
}
}
</script>
</head>
<body>
<form id="form1">
<input type="text" id="identify" />
<input type="button" onclick="checkidentify();" value="验证" />
</form>
</body>
</html>