1.概述
在动态网站的用户注册页面中,经常需要对用户输入的用户名和密码的位数及成员组成进行判断,这样可以规范用户的注册信息。例如本实例,要求用户名由3-10位的字母、数字和下划线组成,密码由6-20位的字母、数字、下划线和点“.”组成并且首字符为字母,这时就需要对用户的输入进行判断,因此笔者编写了两个函数,分别用于验证用户输入的用户名和密码是否合法。
2.技术要点
验证用户名是否由3-10位的字母、数字和下划线组成的正则表达式如下:
/^(\w){3,10}$/
验证密码是否由6-20位的字母、数字、下划线和点“.”组成的正则表达式如下:
/^[A-Za-z]{1}([A-Za-z0-9]|[._]){5,19}$/
3.具体实现代码
(1)使用JavaScript编写一个用于验证用户名是否合法的函数checkeusername (),该函数只有一个参数username,用于获取输入的用户名,返回值为true或false。代码如下:
<script language="javascript"> function checkeusername(username){ var str=username; //在JavaScript中,正则表达式只能使用"/"开头和结束,不能使用双引号 var Expression=/^(\w){3,10}$/; var objExp=new RegExp(Expression); //创建正则表达式对象 if(objExp.test(str)==true){ //通过正则表达式验证 return true; }else{ return false; } } </script>
(2)使用JavaScript编写一个用于验证密码是否合法的函数checkePWD(),该函数只有一个参数PWD,用于获取输入的密码,返回值为true或false。代码如下:
<script language="javascript"> function checkePWD(PWD){ var str=PWD; //在JavaScript中,正则表达式只能使用"/"开头和结束,不能使用双引号 var Expression=/^[A-Za-z]{1}([A-Za-z0-9]|[._]){5,19}$/; var objExp=new RegExp(Expression); //创建正则表达式对象 if(objExp.test(str)==true){ //通过正则表达式验证 return true; }else{ return false; } } </script>
(3)调用checkeusername()函数和checkePWD()函数分别判断用户输入的用户名和密码是否合法,如果不合法,将给予提示信息。关键代码如下:
<script language="javascript"> function check(myform){ if(myform.username.value==""){ alert("请输入用户名!");myform.username.focus();return; } if(!checkeusername(myform.username.value)){ alert("您输入的用户名不合法!");myform.username.focus();return; } if(myform.PWD.value==""){ alert("请输入密码!");myform.PWD.focus();return; } if(!checkePWD(myform.PWD.value)){ alert("您输入的密码不合法!");myform.PWD.focus();return; } if(myform.PWD1.value==""){ alert("请确认密码!");myform.PWD1.focus();return; } if(myform.PWD1.value!=myform.PWD.value){ alert("您两次输入的密码不一致,请重新输入!");myform.PWD.focus();return; } myform.submit(); } </script>
时间: 2024-12-25 19:49:32