宝哥软件园

通过正则表达式使用创建交互式、快速动态网页应用的网页开发技术检验注册信息功能

编辑:宝哥软件园 来源:互联网 时间:2021-08-19

本期博客内容应该不算多,我们此次的目的是通过正则表达式并利用创建交互式、快速动态网页应用的网页开发技术可以实现动态交互的特点,检验注册的用户名以及密码是否合法。

实体层

该层主要包含一个用户类用户,代码如下:

包裹cn。cpx。春季MVC。实体;导入Java。乌提尔。日期;/** * 用户实体类* @作者秋_叶* */公共类用户{ private int uId私有字符串显示操作系统信息私有字符串uPwd私有字符串uPhone二等兵双枪;私有int uState私立国际泌尿科;私有字符串uImage//用户头像私人约会;public int GetUid(){ return Uid;} public void SetUid(int Uid){ this。Uid=Uid} public String getuName(){ return uName;} public void setuName(String Uname){ this。Uname=Uname} public String getuPwd(){ return uPwd;} public void setuPwd(String UPwd){ this。UPwd=UPwd} public String getuPhone(){ return uPhone;} public void setuPhone(String uPhone){ this。uPhone=uPhone} public double getublance(){ return ublance;} public void setubass(double ubass){ this。ubalass=ubalass} public int getuState(){ return uState;} public void setuState(int uState){ this。uState=uState} public int geturee(){ return Uuree;} public void setuxue(int Uxue){ this。Uxue=Uxue} public String getuImage(){ return uImage;} public void setuImage(String ui mage){ this。ui法师=ui法师;} public Date getuBirth(){ return uBirth;} public void setuBirth(Date uBirth){ this。uBirth=uBirth}公共用户(int uId,String uName,String uPwd,String uPhone,double uBalance,int uState,int泌尿,String uImage,Date ubarth){ super();this . uid=uid this . uname=uname this . upwd=upwdthis . uphone=uphoneth。uba lance=uba lancethis.uState=uStatethis。泌尿科=泌尿科;this . uimage=uimage this . uBirth=uBirth } public User(){ super();}公共用户(字符串uName、字符串uPwd、字符串uPhone){ super();this . uname=unamethis . upwd=upwdthis . uPhone=uPhone }//添加注册信息公共用户(字符串uName、字符串uPwd、字符串uPhone,日期uBirth){ super();this . uname=unamethis . upwd=upwdthis . uphone=uphoneth . uBirth=uBirth }公共用户(字符串uName、字符串uPwd、字符串uPhone、字符串ui图像){ super();this . uname=unamethis . upwd=upwdthis . uphone=uphonethis . ui image=ui image }公共用户(字符串uName,字符串uPwd){ super();this . uName=uName this . uPwd=uPwd } @将公共字符串重写为String(){ return ' User[uId=' uId ',uName=' uName ',uPwd=' uPwd ',uPhone=' uPhone ',uBalance=' uBalance ',uState=' uState ',泌尿='泌尿,uImage=' uImage ',uBirth=' uBirth ']';}}上述用户类我们实际此次只会用到用户名和密码两个属性,其他属性此次不会使用到。

控制器层

我们此次为操作方便,刀层和服务层就不写了,留给读者自己去思考。我们新建用户控制器类,代码如下:

包裹cn。cpx。春季MVC。控制器;导入组织。弹簧框架。刻板印象。控制器;导入组织。弹簧框架。网络。绑定。注释。请求映射;导入组织。弹簧框架。网络。绑定。注释。反应体;导入cn。cpx。春季MVC。实体。用户;@ Controller @请求映射("/user ")公共类用户控制器{ /** *根据输入的用户名查询用户名是否存在,实现前台输入用户名及时验证*/@请求映射('/checkUname ')@响应正文公共字符串checkUname(用户用户)引发异常{ //根据用户(前台输入的用户名)查询数据库中用户名//下面的判断最好写在服务中//使用字符串结果=userService.checkUname(用户);if('chen ' .等于(用户。getuname())){返回“{ msg }”:“否”};}返回“{ msg ' : ' ok ' }”;}}加上@ResponseBody注解,是为了确保返回数据形式的数据,我们返回列表形式的字符串,并进行转义,如果用户名已经存在(这里仅有陈),则返回msg:no,相反,返回msg:ok。

视图层

我们新建register.jsp,代码如下:

% @ page语言=' Java ' ContentType=' text/html;charset=UTF-8 '页面编码=' UTF-8 ' %!DOCTYPE html html heartheta charset=' UTF-8 '标题在此插入标题/title脚本类型=' text/JavaScript ' src=' http : $ { page context。请求。上下文路径}/js/jquery-1。8 .3 .js/使用功能数字正射影像图对象获取表单信息function CheckName(){//控制台。日志(1);var name=文档。getelementbyid(' uname ').价值;//console.log('用户名: '名称);//控制台。日志(文档。getelementbyid(' uname ').占位符);//根据用户输入内容,完成页面验证,用户名只能是0-9,a-z,A-Z,也可以输入中文//综合正则表达式验证var unamecode=/^[0-9a-zu4e00-u9fa5]{3,10}$/;if(unamecode。test(name)){ console。日志('用户名命名合法!');//还要和后台进行验证,验证用户名是否重复,使用埃阿斯动态交互$.ajax({ type : 'post ',URL : ' user/checkuname。操作',//请求的全球资源定位器(统一资源定位符)地址,建议使用绝对地址数据: ' uName='名称,//请求携带的参数dataType:'json ',//如果后台返回的数据是线改造的,这里需要指定返回类型,否则data.msg取不到值成功:函数(数据){//成功中功能的数据可以解析后台的数据console.log(数据);控制台。日志(数据。味精);if(' ok '==数据。msg){文档。getelementbyid(' unameMsg ').innerHTML='font color='green'用户名合法!/font ';} else { document。getelementbyid(' unameMsg ').innerHTML='font color='red''用户名重复!/font ';} },错误:函数(){//失败回调函数console.log('解析失败!');} });//文档。getelementbyid(' unameMsg ').innerHTML='font color='orange'用户名合法!/font ';} else { console.log('命名不合法!');//文档。getelementbyid(' unameMsg ').innerHTML='font color='orange''用户名不合法!/font ';文件。getelementbyid(' unameMsg ').innerHTML='x '用户名不合法!//使用射流研究…可以改变半铸钢钢性铸铁(铸造半钢)的样式文件。getelementbyid(' unameMsg ')。风格。颜色='红色';文件。getelementbyid(' unameMsg ')。风格。font size=' 20px} } //失去焦点事件function Checkpwd(){ var pwd=document。getelementbyid(' upwd ').价值;//strong密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在6-12之间)var upwdCode=/^(?=.*d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{6,12 } $/;if(upwdcode。测试(pwd)){文档。getelementbyid(' upwdMsg ').innerHTML='font color='blue'密码合法!/font ';} else { document。getelementbyid(' upwdMsg ').innerHTML='font color='blue''密码不合法!/font ' } }/脚本/床头表单方法='post '输入类型='text' name='uname' id='uname '占位符='请输入用户名onkeyup=' CheckNAmE()'/span id=' UNAMesg '/span br/输入类型=' password ' name=' upwd ' id=' upwd '占位符='请输入密码onb lur=' checkPwd()'/span id=' upwdMsg '/span br//form/body/html以上的代码我们进行一些解释:

检查用户名要求为3-10位数字,数字0-9,字母A-Z(a-z)和中文,不能是chen,后面增加提示信息,可以显示在后面的span标签上。在ajax函数中,因为后台收到的uname是String类型的,而且我们想确保返回json数据,所以添加一句‘datatype 3360 JSON’;

其实密码校验的原理也差不多。我们还要求密码通过正则表达式包含大小写字母和数字的组合,不能使用特殊字符。长度在6到12之间。这里的密码相对简单,因为不需要与后台动态交互,所以不使用ajax。关于正则表达式怎么写,怎么测试,这里有一个大家日常学习的网站,链接是正则表达式在线测试。接下来,我们运行,截图如下:

���������ͼƬ����

���������ͼƬ����

我们使用了两个不同的事件。用户名检查使用onkeyup,这是一个密钥释放事件,密码检查使用on bulr,这是一个失去焦点的事件。嗯,检查结果也符合我们之前写的逻辑思维。这个博客到了,下次见!

摘要

以上就是边肖介绍的使用ajax通过正则表达式检查注册信息的功能。希望对大家有帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!如果你觉得这篇文章对你有帮助,请转载,请注明出处,谢谢!

更多资讯
游戏推荐
更多+