原生js的表单认证

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>原生js的表单校验</title>
		<!--
			
			自己定义正则规则:
			用户名:由4到14位的数字或者字母(不区分大小写)组成
			密码:由6-16位的数字或者字母组成(不区分大小写)
			确认密码:需要上一次的输入的密码两次一致!
			邮箱:
				数字或者字母@数字或字母.com/.cn(com.cn...)
		-->
<script>
	
	//校验用户名
	function checkUserName(){
		//获取用户名所在的内容
		//通过 id="user"获取标签对象---获取value属性
		var username = document.getElementById("user").value ;
		//获取id="userSapn"的span标签对象
		var userSpan = document.getElementById("userSapn") ;
		//用户名:由4到14位的数字或者字母(不区分大小写)组成
		var reg = /^[A-Za-z0-9]{4,14}$/ ;
		//校验
		if(reg.test(username)){
			//校验成功
			//设置userSpan的innerHTML属性
			userSpan.innerHTML = "恭喜您,用户名可用".fontcolor("green") ;
			return true ;
		}else{
			//校验不成功
			userSpan.innerHTML = "用户名不可用".fontcolor("red") ;
			return false ;
		}
	}
	
//校验密码
function checkUserPassword(){
	//获取id="pwd"所在的密码框的标签对象 input--同时获取内容
	var password = document.getElementById("pwd").value; 
	//获取id="pwdSpan"的span标签对象
	var pwdSpan = document.getElementById("pwdSpan") ; //举例:js对象    ---  $(pwdSpan )  Jquery对象:前端框架 js库 提供大量的方法
	//定义密码正则表达式:
	//密码:由6-16位的数字或者字母组成(不区分大小写)
	var reg = /^[A-Za-z0-9]{6,16}$/;
	//校验
	if(reg.test(password)){
		//提示
		pwdSpan.innerHTML ="恭喜您,密码符合格式".fontcolor("green") ;
		return true ;
	}else{
		pwdSpan.innerHTML ="密码不符合格式".fontcolor("red") ;
		return false ;
	}
}

//校验确认密码
function checkRePassword(){
	//获取上一个密码框的内容
	var password = document.getElementById("pwd").value; 
	// id="repwd"所在的input标签对象同时获取内容
	var repwd = document.getElementById("repwd").value ;
	//id="repwdSpan"所在的span标签对象
	repwdSpan  = document.getElementById("repwdSpan") ;
	
	//两次密码的内容需要一直
	if(repwd == password){
		//提示
		repwdSpan.innerHTML = "两次输入的内容一致".fontcolor("green") ;
		return true ;
	}else{
		repwdSpan.innerHTML ="两次输入不一致".fontcolor("red") ;
		return false ;
	}
	
}

//邮箱的校验
function checkEmail(){
//	id="userEmail" 所在的标签对象以及输入的内容
var email = document.getElementById("userEmail").value ;
//id="emailSpan"所在的span标签对象
var emailSpan = document.getElementById("emailSpan") ;
//邮箱:数字或者字母@数字或字母.com/.cn(com.cn...)
var reg = /^[A-Za-z0-9]+@[A-Za-z0-9]+(\.[A-Za-z]{2,3}){1,2}$/;
//校验
	if(reg.test(email)){
	//提示
		emailSpan.innerHTML ="邮箱格式正确".fontcolor("green") ;
		return true ;
	}else{
		emailSpan.innerHTML="邮箱格式有问题".fontcolor("red") ;
		return false ;
	}
}

//校验整个表单项的全部的内容是否符合正则规则
function checkAll(){
	//将所有的校验的内容的返回结果进行校验
	if(checkUserName() && checkUserPassword() && checkRePassword() && checkEmail()){
		return true ; //都符号正则规则才能提交后台
	}else{
		return false ;//不能提交(有一个有问题,不能提交成功)
	}
}

</script>
	</head>
<body>
<!--
	onsubmit:表单是否能够提交成功的事件,取决它所绑定函数的返回值
	如果返回值是true,可以提交(所有的表单项都符合正则规则),
	如果返回值是false,表单不能提交的!
	
-->
<form action="backend.html" method="post" onsubmit="return checkAll()">
用户名:<input type="text" name="username" id="user" onblur="checkUserName()" /><span id="userSapn"></span><br />
密&nbsp;&nbsp;&nbsp;码:<input type="password" onblur="checkUserPassword()" id="pwd" name="password" /><span id="pwdSpan" ></span><br />
确认密码:<input type="password" name="repassword" id="repwd" onblur="checkRePassword()" /><span id="repwdSpan" ></span><br />
邮&nbsp;&nbsp;&nbsp;箱:<input type="text" name="email" id="userEmail" onblur="checkEmail()" /><span id="emailSpan"></span><br />
<input type="submit" value="提交" />

</form>
</body>
</html>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值