web开发与正则表达式

来源:互联网 发布:ubuntu安装虚拟机 编辑:程序博客网 时间:2024/05/16 07:17

在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> 
0 0