JS判定注册表单的几个方式 及 Ajax进行用户名存在判定

时间:2022-08-26 04:33:41

最近感觉不赶紧把代码逻辑记一下梳理一下,再做的时候就容易进入"逻辑误区".

有个表单,简单点.

<!DOCTYPE html>
<!-- 注册表单验证,用户名格式(未加入Ajax)密码两次相同,则可提交 -->
<html>
<head>
<meta charset="UTF-8">
<!-- 实现form表单验证及跳转action -->
<title>JS2_form表单验证</title>
</head> <body>
<p>注册</p>
<form action="http://www.ykmimi.com" name="formReg"
onsubmit="return submitFunc()" method="post">
<!-- [错误方式->]onchange="unameChange()"-->
<!-- 传参this.value -->
用户名:<input type="text" name="username" id="username"
onfocus="unameFocus(this.value)" onblur="unameBlur(this.value)" /><span id="unameTag"></span>
<br />
<!-- onfocus="upass1Focus()" -->
密码:<input type="password" name="password" id="password" onfocus="upass1Focus()"
onblur="testPassword()" /><span id="upass1Tag"></span> <br />
<!-- onfocus="upass2Focus()" -->
重复密码:<input type="password" name="password2" id="password2" onfocus="upass2Focus()"
onblur="testPassword()" />
<!-- onchange="upass2Blur()" -->
<span id="upass2Tag"></span> <br /> <!-- 年龄:<input type="text" name="age" id="age" onfocus="uageFocus()" onblur="uageBlur()" /><span id="uageTag"></span> <br/> --> <input type="submit" value="提交" />
</form> <hr>
<br>
待完善: <br>
1.bootstrap框架引入. <br>
2.后台判定. <br>
3.Ajax判定用户名是否存在. <br>
4. </body>
<!-- 引入外部js,判定注册账户账户信息 -->
<script type="text/javascript" src="scripts/reg2.js"> </script>
</html>

然后这个reg2.js

:

/**
* 用户注册界面JS
*/ // ///*[[用户名的焦点和失焦方法]]
// 验证用户名格式长度.等,Focus时
function unameFocus() {
// 获取id为username中的数据值
var unameObj = document.querySelector("#username");
// 获取具体值
var uname = unameObj.value; if (uname.length == 0 || uname=="") {
document.querySelector("#unameTag").innerHTML = "请输入用户名,长度不小于3位.";
return false;
}
}
// 验证用户名格式长度,等, Blur时
function unameBlur() { // 获取document对象
var unameObj = document.querySelector("#username");
var upass1Obj = document.querySelector("#password");
var upass1Tag = document.querySelector("#upass1Tag");
var upass2Obj = document.querySelector("#password2");
var upass2Tag = document.querySelector("#upass2Tag");
// 获取具体值
var uname = unameObj.value; var unameTag = document.querySelector("#unameTag"); if (uname.length == 0 || uname=="" || uname.length < 3) {
unameTag.innerHTML = "请输入用户名,长度不小于3位.";
upass1Tag.innerHTML = "";
upass2Tag.innerHTML = "";
upass1Obj.value = "";
upass2Obj.value = "";
return false;
} else {
unameTag.innerHTML = "用户名可用.";
return true;
}
} // ///*[[用户密码的判定 重复密码是否相同,长短等]]
// 用户密码1 Focus时
function upass1Focus() {
// 获取document对象
var upass1Obj = document.querySelector("#password");
var upass1Tag = document.querySelector("#upass1Tag");
// 获取具体值 (第一种方式)
// var upass1 = upass1Obj.value; // 另一种获取value的方式: √
var upass1 = document.formReg.password.value; // 判定是否满足密码的格式条件
if (upass1.length == 0 || upass1=="") {
upass1Tag.innerHTML = "输入密码,密码长度不小于6位,两次密码需输入一致,且不能有非法字符如%,*,#";
return false;
}
}
// 用户密码1 Blur时
function upass1Blur() {
// 获取document对象
var upass1Obj = document.querySelector("#password");
var upass1Tag = document.querySelector("#upass1Tag");
// 获取具体值
var upass1 = upass1Obj.value; // 判定是否满足密码的格式条件
if (upass1.length == 0 || upass1=="" || upass1.length < 6) {
upass1Tag.innerHTML = "输入密码,密码长度不小于6位.谢谢合作