js表单验证
来源:互联网 发布:斯蒂芬库里 知乎 编辑:程序博客网 时间:2024/05/23 16:44
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>注册页</title>
<style type="text/css">
b{visibility: hidden;}
.active{background-color: red;}
</style>
</head>
<body>
<form method="get" onsubmit="return checkForm()">
<div>
<label for="userName">用户名:</label>
<input type="text" id="userName" placeholder="用户名">
<span></span><br>
<b id="count">0个字符</b>
</div>
<div>
<label for="userPassword">密码:</label>
<input type="password" id="userPassword" placeholder="密码">
<span id="userPassword_qq" class="prompts"></span><br>
<em class="active">弱</em> <em>中</em> <em>强</em>
</div>
<div>
<label for="userRepassword">确认密码:</label>
<input type="password" id="userRepassword" placeholder="重新输入密码" disabled>
<span id="userRepassword_qq" class="prompts"></span>
</div>
<div>
<label for="nickName">昵称:</label>
<input type="text" id="nickName" placeholder="昵称">
<span id="nickName_qq" class="prompts"></span>
</div>
<div>
<label for="userEmail">邮箱:</label>
<input type="text" id="userEmail" placeholder="邮箱">
<span id="userEmail_qq" class="prompts"></span>
</div>
<div>
<button type="submit">注册</button>
</div>
</form>
</body>
<script type="text/javascript">
var checkBool=false;
function getStringLen(Str){
var i,len,code;
if(Str==null || Str == "") return 0;
len = Str.length;
for (i = 0;i < Str.length;i++)
{
code = Str.charCodeAt(i);
if (code > 255) {len ++;}
}
return len;
}
function findStr(str,n){
var tmp=0;
for(var i=0;i<str.length;i++){
if(str.charAt(i)==n)
tmp++;
}
return tmp;
}
window.onload=function(){
var alnput=document.getElementsByTagName("input");
var oName=alnput[0];
var pwd=alnput[1];
var pwd2=alnput[2];
var ncName=alnput[3];
var Emi=alnput[4];
var aspan=document.getElementsByTagName("span");
var name_msg=aspan[0];
var pwd_msg=aspan[1];
var pwd2_msg=aspan[2];
var ncName_msg=aspan[3];
var Emi_msg=aspan[4];
var count=document.getElementById("count");
var aEM=document.getElementsByTagName("em");
var name_length=0;
//名字框验证
oName.onfocus=function(){
name_msg.style.display="inline";
name_msg.innerHTML="5-25个字符";
};
oName.onkeyup=function(){
count.style.visibility="visible";
name_length=getStringLen(this.value);
count.innerHTML=name_length+"个字符";
if(name_length==0){
count.style.visibility="hidden";
}
};
oName.onblur=function(){
var re=/[^\w\u4e00-\u9fa5]/g;
if(re.test(this.value)){
name_msg.innerHTML="含有非法字符";
checkBool=false;
}
else if(this.value==""){
name_msg.innerHTML="不能为空";
checkBool=false;
}
else if(name_length>25){
name_msg.innerHTML="长度超过25个字符";
checkBool=false;
}
else if(name_length<6){
name_msg.innerHTML="长度小于6个字符";
checkBool=false;
}
else{
name_msg.innerHTML="OK";
checkBool=true;
}
};
//密码
pwd.onfocus=function(){
pwd_msg.style.disable="block";
pwd_msg.innerHTML="6-16个字符,请使用字母加数字或符号的组合密码,不能单独使用字母,符号或数字"
};
pwd.onkeyup=function(){
if(this.value.length>5){
aEM[1].className="active";
pwd2.removeAttribute("disabled");
pwd2_msg.style.display="inline";
pwd2_msg.innerHTML="请在输入一次"
}
else{
aEM[1].className = "";
pwd2.setAttribute("disabled",null);
pwd2_msg.style.display = "none";
}
if(this.value.length>10){
aEM[2].className = "active";
}
else{
aEM[2].className = "";
}
};
pwd.onblur = function(){
var m = findStr(pwd.value,pwd.value[0]);
var re_n=/[^\d]/g;
var re_t=/[^a-zA-Z]/g;
if(this.value == ""){
pwd_msg.innerHTML="不能为空";
checkBool=false;
}
else if(m == this.value.length){
pwd_msg.innerHTML = "不能用相同字符";
checkBool=false;
}
else if(this.value.length>16||this.value.length<6){
pwd_msg.innerHTML = "长度应为6-16个字符";
checkBool=false;
}
else if(!re_n.test(this.value)){
pwd_msg.innerHTML = "不能全为数字";
checkBool=false;
}
else if(!re_t.test(this.value)){
pwd_msg.innerHTML = "不能全为字母";
checkBool=false;
}
else {
pwd_msg.innerHTML = "OK";
checkBool=true;
}
};
//确认密码
pwd2.onblur=function(){
if(this.value == ""){
pwd2_msg.innerHTML = "请再次输入密码";
checkBool=false;
}
else if(this.value!=pwd.value){
pwd2_msg.innerHTML = "两次输入密码不一致";
checkBool=false;
}
else{
pwd2_msg.innerHTML = "OK";
checkBool=true;
}
};
Emi.onfocus = function(){
Emi_msg.innerHTML = "请输入正确邮箱地址"
};
Emi.onblur=function(){
var re_E=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
if(this.value == ""){
Emi_msg.innerHTML = "邮箱不能为空";
checkBool=false;
}
else if(!re_E.test(this.value)){
Emi_msg.innerHTML = "邮箱格式错误";
checkBool=false;
}
else{
Emi_msg.innerHTML = "OK";
checkBool=true;
}
}
};
function checkForm(){
return checkBool;
}
</script>
</html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>注册页</title>
<style type="text/css">
b{visibility: hidden;}
.active{background-color: red;}
</style>
</head>
<body>
<form method="get" onsubmit="return checkForm()">
<div>
<label for="userName">用户名:</label>
<input type="text" id="userName" placeholder="用户名">
<span></span><br>
<b id="count">0个字符</b>
</div>
<div>
<label for="userPassword">密码:</label>
<input type="password" id="userPassword" placeholder="密码">
<span id="userPassword_qq" class="prompts"></span><br>
<em class="active">弱</em> <em>中</em> <em>强</em>
</div>
<div>
<label for="userRepassword">确认密码:</label>
<input type="password" id="userRepassword" placeholder="重新输入密码" disabled>
<span id="userRepassword_qq" class="prompts"></span>
</div>
<div>
<label for="nickName">昵称:</label>
<input type="text" id="nickName" placeholder="昵称">
<span id="nickName_qq" class="prompts"></span>
</div>
<div>
<label for="userEmail">邮箱:</label>
<input type="text" id="userEmail" placeholder="邮箱">
<span id="userEmail_qq" class="prompts"></span>
</div>
<div>
<button type="submit">注册</button>
</div>
</form>
</body>
<script type="text/javascript">
var checkBool=false;
function getStringLen(Str){
var i,len,code;
if(Str==null || Str == "") return 0;
len = Str.length;
for (i = 0;i < Str.length;i++)
{
code = Str.charCodeAt(i);
if (code > 255) {len ++;}
}
return len;
}
function findStr(str,n){
var tmp=0;
for(var i=0;i<str.length;i++){
if(str.charAt(i)==n)
tmp++;
}
return tmp;
}
window.onload=function(){
var alnput=document.getElementsByTagName("input");
var oName=alnput[0];
var pwd=alnput[1];
var pwd2=alnput[2];
var ncName=alnput[3];
var Emi=alnput[4];
var aspan=document.getElementsByTagName("span");
var name_msg=aspan[0];
var pwd_msg=aspan[1];
var pwd2_msg=aspan[2];
var ncName_msg=aspan[3];
var Emi_msg=aspan[4];
var count=document.getElementById("count");
var aEM=document.getElementsByTagName("em");
var name_length=0;
//名字框验证
oName.onfocus=function(){
name_msg.style.display="inline";
name_msg.innerHTML="5-25个字符";
};
oName.onkeyup=function(){
count.style.visibility="visible";
name_length=getStringLen(this.value);
count.innerHTML=name_length+"个字符";
if(name_length==0){
count.style.visibility="hidden";
}
};
oName.onblur=function(){
var re=/[^\w\u4e00-\u9fa5]/g;
if(re.test(this.value)){
name_msg.innerHTML="含有非法字符";
checkBool=false;
}
else if(this.value==""){
name_msg.innerHTML="不能为空";
checkBool=false;
}
else if(name_length>25){
name_msg.innerHTML="长度超过25个字符";
checkBool=false;
}
else if(name_length<6){
name_msg.innerHTML="长度小于6个字符";
checkBool=false;
}
else{
name_msg.innerHTML="OK";
checkBool=true;
}
};
//密码
pwd.onfocus=function(){
pwd_msg.style.disable="block";
pwd_msg.innerHTML="6-16个字符,请使用字母加数字或符号的组合密码,不能单独使用字母,符号或数字"
};
pwd.onkeyup=function(){
if(this.value.length>5){
aEM[1].className="active";
pwd2.removeAttribute("disabled");
pwd2_msg.style.display="inline";
pwd2_msg.innerHTML="请在输入一次"
}
else{
aEM[1].className = "";
pwd2.setAttribute("disabled",null);
pwd2_msg.style.display = "none";
}
if(this.value.length>10){
aEM[2].className = "active";
}
else{
aEM[2].className = "";
}
};
pwd.onblur = function(){
var m = findStr(pwd.value,pwd.value[0]);
var re_n=/[^\d]/g;
var re_t=/[^a-zA-Z]/g;
if(this.value == ""){
pwd_msg.innerHTML="不能为空";
checkBool=false;
}
else if(m == this.value.length){
pwd_msg.innerHTML = "不能用相同字符";
checkBool=false;
}
else if(this.value.length>16||this.value.length<6){
pwd_msg.innerHTML = "长度应为6-16个字符";
checkBool=false;
}
else if(!re_n.test(this.value)){
pwd_msg.innerHTML = "不能全为数字";
checkBool=false;
}
else if(!re_t.test(this.value)){
pwd_msg.innerHTML = "不能全为字母";
checkBool=false;
}
else {
pwd_msg.innerHTML = "OK";
checkBool=true;
}
};
//确认密码
pwd2.onblur=function(){
if(this.value == ""){
pwd2_msg.innerHTML = "请再次输入密码";
checkBool=false;
}
else if(this.value!=pwd.value){
pwd2_msg.innerHTML = "两次输入密码不一致";
checkBool=false;
}
else{
pwd2_msg.innerHTML = "OK";
checkBool=true;
}
};
Emi.onfocus = function(){
Emi_msg.innerHTML = "请输入正确邮箱地址"
};
Emi.onblur=function(){
var re_E=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
if(this.value == ""){
Emi_msg.innerHTML = "邮箱不能为空";
checkBool=false;
}
else if(!re_E.test(this.value)){
Emi_msg.innerHTML = "邮箱格式错误";
checkBool=false;
}
else{
Emi_msg.innerHTML = "OK";
checkBool=true;
}
}
};
function checkForm(){
return checkBool;
}
</script>
</html>
0 0
- JS控件:表单验证
- JS控件:表单验证
- 常用表单验证js
- Js表单提交验证
- js表单验证
- js注册表单验证
- js验证表单大全
- js验证表单大全
- js验证表单大全
- js验证表单大全
- JS验证表单大全
- JS表单验证
- js表单验证
- js验证表单大全
- js验证表单大全
- JS常用表单验证
- js表单验证代码
- js验证表单大全
- 安卓动态调试方法总结
- 堆
- php之函数
- Array.from()
- 三种纯css方法实现等高列
- js表单验证
- 2016年4月6日工作总结
- android studio 创建安卓项目时 报R文件找不到错误 可能源于布局xml文件包含错误
- 25.异常处理
- 常用运行命令win10
- 软引用SoftReference的使用
- AndroidStudio不能识别真机解决方法
- QT5 OpenGL (四, 绘制立体图形)
- Elasticsearch - 模式映射之核心类型