javascript实现用户名是否存在的实时提醒
来源:互联网 发布:大数据宣传片 编辑:程序博客网 时间:2024/06/06 01:18
1.register.jsp中用户名处要这样写:
<tr> <td>用户名:</td> <td> <input type="text" name="username" size="25" maxlength="25" id="userid" onblur="validate()"> <div id="usermsg"></div> </td></tr>
2.在register.jsp的HTML标签<head></head>内写javascript:
<script type="text/javascript">var req;function validate() {var idField = document.getElementById("userid");var url = "validate.jsp?id=" + escape(idField.value);//alert(url);if(window.XMLHttpRequest) {req = new XMLHttpRequest();} else if (window.ActiveXObject) {req = new ActiveXObject("Microsoft.XMLHTTP");}req.open("GET", url, true);req.onreadystatechange = callback;req.send(null);}function callback() {if(req.readyState == 4) {if(req.status == 200) {//alert(req.responseText);var msg = req.responseXML.getElementsByTagName("msg")[0];//alert(msg); setMsg(msg.childNodes[0].nodeValue);}}}function setMsg(msg) {//alert(msg);mdiv = document.getElementById("usermsg");if(msg == "invalid") {mdiv.innerHTML = "<font color='red'>username exists</font>";} else {mdiv.innerHTML = "<font color='green'>congratulations! you can use this username!</font>";}}</script>
3.创建validate.jsp页面,写校验username是否在数据库中存在的判断:
<%@page import="com.shopping.User"%><%response.setContentType("text/xml");response.setHeader("Cache-Control", "no-store"); //HTTP1.1response.setHeader("Pragma", "no-cache"); //HTTP1.0response.setDateHeader("Expires", 0); //prevents catching at proxy server//System.out.println(request.getParameter("id"));String username = request.getParameter("id");//System.out.println(username);boolean userExist = User.isUserExist(username);//System.out.println(userExist);if(userExist){//check the databaseresponse.getWriter().write("<msg>invalid</msg>");} else {response.getWriter().write("<msg>valid</msg>");}%>
4. 第3步中的User.isUserExist(username)是链接数据库查询的java文件,是类User中的一个方法,具体如下:
public static boolean isUserExist(String username){boolean userExist = false;Connection conn = null;Statement stmt = null;ResultSet rs = null;try {conn = DB.getConn();stmt = DB.createStmt(conn);String sql = "select * from user where username = '" + username + "'";rs = DB.executeQuery(stmt, sql);if(rs.next()){userExist = true;return userExist;} else {return userExist;}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally {// TODO: handle finally clauseDB.close(rs);DB.close(stmt);DB.close(conn);}return userExist;}/// end
另,附上判断用户名和密码复杂程度的文件regcheckdata.js。
function checkdata() {var ssn=form.username.value.toLowerCase();if (!checkUserName(ssn)) return false; //用户名检查if( strlen(form.password.value)<6 || strlen(form.password.value)>16 ) {alert("\正确地登录密码长度为6-16位,仅可用英文、数字、特殊字符!")form.password.focus()return false;}if( strlen2(form.password.value) ) {alert("\您的密码中包含了非法字符,仅可用英文、数字、特殊字符!")form.password.focus()return false;}if( form.password.value == form.username.value ) {alert("\用户名和密码不能相同!")form.password.focus()return false;}if( form.password2.value =="" ) {alert("\请输入密码确认!")form.pwd2.focus()return false;}if( form.password2.value != form.password.value ) {alert("\两次密码输入不一致!")form.password.focus()return false;}//检查电话if( form.phone.value =="" ) {alert("\请输入电话!")form.phone.focus()return false;}//检查地址if( form.addr.value =="" ) {alert("\请输入送货地址!");form.addr.focus();return false;}return true;}function checkUserName(ssn){if( ssn.length<3 || ssn.length>18 ) {alert("\请输入正确的用户名,用户名长度为3-18位!")form.username.focus()return false;}if (isWhiteWpace(ssn)){alert("\请输入正确的用户名,用户名中不能包含空格!")form.username.focus()return false;}if (!isSsnString(ssn)){alert("\ 对不起,您选择的用户名不正确或已被占用!用户名\n由a~z的英文字母(不区分大小写)、0~9的数字、点、减\n号或下划线组成,长度为3~18个字符,只能以数字或字母\n开头和结尾,例如:kyzy_001。")form.username.focus()return false;}return true;}function strlen(str){var len;var i;len = 0;for (i=0;i<str.length;i++){if (str.charCodeAt(i)>255) len+=2; else len++;}return len;}function strlen2(str){var len;var i;len = 0;for (i=0;i<str.length;i++){if (str.charCodeAt(i)>255) return true;}return false;}function isWhiteWpace (s){var whitespace = " \t\n\r";var i;for (i = 0; i < s.length; i++){ var c = s.charAt(i);if (whitespace.indexOf(c) >= 0) { return true;}}return false;}function isSsnString (ssn){var re=/^[0-9a-z][\w-.]*[0-9a-z]$/i;if(re.test(ssn))return true;elsereturn false;}function checkssn(gotoURL) { var ssn=form.username.value.toLowerCase(); if (checkUserName(ssn)){ var open_url = gotoURL + "?username=" + ssn; window.open(open_url,'','status=0,directories=0,resizable=0,toolbar=0,location=0,scrollbars=0,width=322,height=200');}}
0 0
- javascript实现用户名是否存在的实时提醒
- JQuery+Ajax实现用户名的检测(用户名是否已存在)
- 使用jquery实现判断用户名是否存在的实例
- 利用jQuery实现的Ajax 验证用户名是否存在
- 使用Ajax实现用户名是否已经存在的验证
- php+jquery/JAVASCRIPT判断用户名是否存在
- Ajax实时验证用户名/邮箱等是否已经存在
- java调用ajax实时监测用户名是否存在
- Ajax 实现用户名是否存在 with ScriptManager
- ajax 实现用户名是否存在 源代码
- 异步请求实现用户名校验是否存在
- ajax+struts实现验证用户名是否存在
- JQuery实现异步验证用户名是否存在
- struts 实现ajax校验用户名是否存在
- ajax实现校验用户名是否存在
- javascript 用户名提醒脚本
- JSP+Serverlet+javaScript+ajax实现实时检测用户名是否被占用
- 关于验证用户名是否存在的问题
- 在Vim中执行Python
- LCA-最近公共祖先-Tarjan解法
- InstallUtil.exe报错,错误代码HRESULT: 0x80131515
- mac 终端 常用命令
- 清除WKWebView的缓存
- javascript实现用户名是否存在的实时提醒
- C++基础知识——引用
- Android Studio如何用release签名进行debug调试
- runtime简单理解之消息传递 objc_msgSend
- Android Studio 生成APK实践
- MFC基于单文档制作吹彩色泡泡程序
- python cx_oracle 取回数据后 LOB variable no longer valid after subsequent fetch
- 如何使用CSS3/SCSS实现逼真的车窗雨滴效果
- leetcode 144