Web前端案例_正则表达式案例

本文介绍了一个使用正则表达式进行表单验证的Web前端案例,包括用户名、密码、邮箱等字段的有效性检查,并确保所有验证通过后才允许提交。

Web前端案例_正则表达式案例

这篇写关于一个正则表达式以及表单结合的案例。

1.案例说明

案例:利用正则表达式写一个表单验证

用户名:10-15位的数字或者字母
密码:10-15位的数字或字母
确认密码:判断两次输入的密码是否一致
邮箱:xxx@xxx.(com/cn/net)
提交按钮:必须全部验证成功的情况下,才能成功提交,只要有一个验证失败无法提交


2.实现分析

主要页面就是一个form表单,对于表单中的几个输入值利用正则表达式进行判断,在对应的span标签里面进行提示是否合法,最后利用form表单的onsubmit属性,利用各判断函数返回的布尔值判断是否上传表单信息。


3.实现代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<!--
		案例:利用正则表达式写一个表单验证
		用户名:10-15位的数字或者字母
		密码:10-15位的数字或字母
		确认密码:判断两次输入的密码是否一致
		邮箱:xxx@xxx.(com/cn/net)
		提交按钮:必须全部验证成功的情况下,才能成功提交,只要有一个验证失败无法提交
	-->
	<body>
		<form action="" onsubmit="return checkAll()" >
			用户名:<input type="text" id="username" onblur="testUsernamr()" /><span id="usernameSpan"></span><br />
			密 码:<input type="password" id="password" onblur="testPassworerd()" /><span id="passwordSpan"></span><br />
			确认密码:<input type="password" id="repassword" onblur="testRepassworerd()" /><span id="repasswordSpan"></span><br />
			邮箱:<input type="text" id="email" onblur="testEmail()" /><span id="emailSpan"></span><br />
			<input type="submit" value="提交" /><br />
		</form>
	</body>
	<script>
		function testUsernamr(){
			var reg = /^[0-9a-zA-Z]{10,15}$/;
			var span = document.getElementById("usernameSpan");
			var username = document.getElementById("username");
			if(reg.test(username.value)){
				span.innerHTML="用户名可用!".fontcolor("green");
				return true;
			}else{
				span.innerHTML="用户名不可用!".fontcolor("red");
				return false;
			}
		}
		
		function testPassworerd(){
			var reg = /^[0-9a-zA-Z]{10,15}$/;
			var span = document.getElementById("passwordSpan");
			var password0 = document.getElementById("password");
			if(reg.test(password0.value)){
				span.innerHTML="密码格式正确!".fontcolor("green");
				return true;
			}else{
				span.innerHTML="密码格式不正确!".fontcolor("red");
				return false;
			}
		}
		
		function testRepassworerd(){
			var password1 = document.getElementById("password").value;
			var span = document.getElementById("repasswordSpan");
			var repassword = document.getElementById("repassword").value;
			if(password1==repassword){
				span.innerHTML="密码一致!".fontcolor("green");
				return true;
			}else{
				span.innerHTML="密码不一致!".fontcolor("red");
				return false;
			}
		}
		
		function testEmail(){
			var reg = /^[0-9a-zA-Z]+@[0-9a-zA-Z]+(\.[a-z]{2,3}){1,2}$/;
			var span = document.getElementById("emailSpan");
			var email = document.getElementById("email");
			if(reg.test(email.value)){
				span.innerHTML="邮箱格式正确!".fontcolor("green");
				return true;
			}else{
				span.innerHTML="邮箱格式不正确!".fontcolor("red");
				return false;
			}
		}
		
		function checkAll(){
			if(testUsernamr()&&testPassworerd()&&testRepassworerd()&&testEmail()){
				return true;
			}else{
				return false;
			}
		}
	</script>
</html>

4.部分截图


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值