如何在正則表達(dá)式中使用ajax檢驗(yàn)注冊(cè)信息功能?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
內(nèi)黃網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,內(nèi)黃網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為內(nèi)黃近千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的內(nèi)黃做網(wǎng)站的公司定做!
Entity層
該層主要包含一個(gè)用戶類User,代碼如下:
package cn.cpx.springmvc.entity; import java.util.Date; /** * 用戶實(shí)體類 * @author autumn_leaf * */ public class User { private int uId; private String uName; private String uPwd; private String uPhone; private double uBalance; private int uState; private int uRole; private String uImage;//用戶頭像 private Date uBirth; 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 getuBalance() { return uBalance; } public void setuBalance(double uBalance) { this.uBalance = uBalance; } public int getuState() { return uState; } public void setuState(int uState) { this.uState = uState; } public int getuRole() { return uRole; } public void setuRole(int uRole) { this.uRole = uRole; } public String getuImage() { return uImage; } public void setuImage(String uImage) { this.uImage = uImage; } public Date getuBirth() { return uBirth; } public void setuBirth(Date uBirth) { this.uBirth = uBirth; } public User(int uId, String uName, String uPwd, String uPhone, double uBalance, int uState, int uRole,String uImage,Date uBirth) { super(); this.uId = uId; this.uName = uName; this.uPwd = uPwd; this.uPhone = uPhone; this.uBalance = uBalance; this.uState = uState; this.uRole = uRole; this.uImage = uImage; this.uBirth = uBirth; } public User() { super(); } public User(String uName, String uPwd, String uPhone) { super(); this.uName = uName; this.uPwd = uPwd; this.uPhone = uPhone; } //添加注冊(cè)信息 public User(String uName, String uPwd, String uPhone, Date uBirth) { super(); this.uName = uName; this.uPwd = uPwd; this.uPhone = uPhone; this.uBirth = uBirth; } public User(String uName, String uPwd, String uPhone, String uImage) { super(); this.uName = uName; this.uPwd = uPwd; this.uPhone = uPhone; this.uImage = uImage; } public User(String uName, String uPwd) { super(); this.uName = uName; this.uPwd = uPwd; } @Override public String toString() { return "User [uId=" + uId + ", uName=" + uName + ", uPwd=" + uPwd + ", uPhone=" + uPhone + ", uBalance=" + uBalance + ", uState=" + uState + ", uRole=" + uRole + ", uImage=" + uImage + ", uBirth=" + uBirth + "]"; } }
上述User類我們實(shí)際此次只會(huì)用到用戶名和密碼兩個(gè)屬性,其他屬性此次不會(huì)使用到。
Controller層
我們此次為操作方便,Dao層和Service層就不寫了,留給讀者自己去思考。我們新建UserController類,代碼如下:
package cn.cpx.springmvc.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import cn.cpx.springmvc.entity.User; @Controller @RequestMapping("/user") public class UserController { /** * 根據(jù)輸入的用戶名查詢用戶名是否存在,實(shí)現(xiàn)前臺(tái)輸入用戶名及時(shí)驗(yàn)證 */ @RequestMapping("/checkUname") @ResponseBody public String checkUname(User user) throws Exception { //根據(jù)user(前臺(tái)輸入的用戶名)查詢數(shù)據(jù)庫中用戶名 //下面的判斷最好寫在Service中 //使用String result = userService.checkUname(user); if("chen".equals(user.getuName())) { return "{\"msg\":\"no\"}"; } return "{\"msg\":\"ok\"}"; } }
加上@ResponseBody注解,是為了確保返回JSON形式的數(shù)據(jù),我們返回列表形式的字符串,并進(jìn)行轉(zhuǎn)義,如果用戶名已經(jīng)存在(這里僅有chen),則返回msg:no,相反,返回msg:ok。
視圖層
我們新建register.jsp,代碼如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>Insert title here
以上的代碼我們進(jìn)行一些解釋:
①檢查用戶名要求是3-10位,數(shù)字0-9,字母A-Z(a-z)以及中文都可以,但是不能為chen,后面加了一個(gè)提示信息,在后面span標(biāo)簽可以顯示,在ajax函數(shù)中,由于后臺(tái)接收的uname是String類型,而我們要確保返回json數(shù)據(jù),所以加了一句'dataType:json';
②檢驗(yàn)密碼其實(shí)原理差不多,我們也是通過正則表達(dá)式,要求密碼必須包含大小寫字母和數(shù)字的組合,不能使用特殊字符,長(zhǎng)度在6-12之間,密碼這邊相對(duì)簡(jiǎn)單一些,因?yàn)椴恍枰c后臺(tái)動(dòng)態(tài)交互,所以不使用ajax。
關(guān)于正則表達(dá)式如何寫以及如何檢驗(yàn),這里提供一個(gè)網(wǎng)址供大家日常學(xué)習(xí),鏈接為正則表達(dá)式在線測(cè)試。
接下來我們進(jìn)行運(yùn)行,截圖如下:
看完上述內(nèi)容,你們掌握如何在正則表達(dá)式中使用ajax檢驗(yàn)注冊(cè)信息功能的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!