使用正则表达式写登录注册

效果图:

 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			span{
				color: red;
			}
		</style>
		
		<script type="text/javascript">
			//用户名
			function checkUsername(id,infoId){
				var name = /^[a-zA-Z][a-zA-Z0-9]{4,16}$/
				var username = document.getElementById(id).value;
				if(!name.test(username)){
					setInfo(infoId,'由英文字母和数字组成的4-16位字符,以字母开头')
					return false
				}
				return true
			}
			
			//昵称
			function checkIdname(id,infoId){
				var name = /^[\u4e00-\u9fa5]{2,6}$/
				var idname = document.getElementById(id).value;
				if(!name.test(idname)){
					setInfo(infoId,'由2-6个汉字组成')
					return false
				}
				return true
			}
			
			//邮箱
			function checkEmail(id,infoId){
				var name = /^\w+@\w+(\.[a-zA-Z]{2,3}){1,2}$/
				var email = document.getElementById(id).value;
				if(!name.test(email)){
					setInfo(infoId,'邮箱账号@域名,如:good@tom.com. whj@sina.com.cn')
					return false
				}
				return true
			}
			
			//密码
			function checkPassword(id,infoId){
			    var name = /^[a-zA-Z0-9]{4,10}$/
			    var password = document.getElementById(id).value;
			    if (!name.test(password)) {
			        setInfo(infoId,'由英文字母和数字组成的4-10位字符')
			        return false
			    }
			    return true
			}
			
			//确认密码
			function checkPasswordAgain(pwd1,pwd2,infoId){
			    var pwd1 = document.getElementById(pwd1).value;
			    var pwd2 = document.getElementById(pwd2).value;
			    if (pwd1 != pwd2) {
			        return false
			    }
			    return true
			}
			
			//手机号
			function checkPhone(id,infoId){
			    var name = /^(13|15|18)\d{11}$/
			    var phone = document.getElementById(id).value;
			    if (!name.test(phone)) {
			        setInfo(infoId,'手机号为11位数字,且以13、15、18开头')
			        return false
			    }
			    return true
			}
			
			//出生日期
			function checkDate(id,infoId){
				var name = /^((19\d{2})|(200\d))-(0?[1-9]|1[0-2])-(0?[1-9]|[1-2]\d|3[0-1])$/
				var date = document.getElementById(id).value;
				if(!name.test(date)){
					setInfo(infoId,'出生日期在1900-2009之间,如:1985-3-1或者1985-03-01')
				}
			}
				
			//提示信息
			function setInfo(id,info){
				document.getElementById(id).innerText = info;
			}
			//清空
			function clearInfo(id){
				document.getElementById(id).innerText = "";
			}
			
			//验证所有的输入是否正确
			function checkAll(){
				if(checkUsername('username','usernameInfo')&&checkIdname('idname','idnameInfo')&&checkEmail('email','emailInfo')&&checkPassword('password','passwordInfo')&&checPasswordAgain('password','passwordAgain','passwordAgainInfo')&&checkPhone('phone','phoneInfo')&&checkDate('date','dateInfo')){
					return true
				}
				return false
			}
			
		</script>
	</head>
	<body>
		<form method="GET" onsubmit="return checkAll()">
			用户名:<input type="text" id="username" onblur="checkUsername('username','usernameInfo')" onfocus="clearInfo('usernameInfo')"  />
			<span id="usernameInfo"></span>
			<br />
			昵称:<input type="text" id="idname" onblur="checkIdname('idname','idnameInfo')" onfocus="clearInfo('idnameInfo')" />
			<span id="idnameInfo"></span>
			<br />
			邮箱:<input type="email" id="email" onblur="checkEmail('email','emailInfo')" onfocus="clearInfo('emailInfo')" />
			<span id="emailInfo"></span>
			<br />
			密码:<input type="password" id="password" onblur="checkPassword('password','passwordInfo')" onfocus="clearInfo('passwordInfo')" />
			<span id="passwordInfo"></span>
			<br />
			确认密码:<input type="password" id="passwordAgain" onblur="checPasswordAgain('password','passwordAgain','passwordAgainInfo')" onfocus="clearInfo('passwordAgainInfo')" />
			<br />
			手机号码:<input type="text" id="phone" onblur="checkPhone('phone','phoneInfo')" onfocus="clearInfo('phoneInfo')" />
			<span id="phoneInfo"></span>
			<br />
			出生日期:<input type="text" id="date" onblur="checkDate('date','dateInfo')" onfocus="clearInfo('dateInfo')" />
			<span id="dateInfo"></span>
			<br />
			<input type="submit" value="提交"/>
		</form>
	</body>
</html>

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以帮你介绍一下使用正则表达式进行注册页面表单验证的方法。 首先,我们需要使用 JavaScript 来实现这个功能。以下是一个基本的表单验证代码示例: ```html <form id="registerForm"> <label for="username">用户名:</label> <input type="text" id="username" name="username"><br> <label for="password">密码:</label> <input type="password" id="password" name="password"><br> <label for="email">邮箱:</label> <input type="email" id="email" name="email"><br> <input type="submit" value="注册"> </form> <script> var form = document.getElementById("registerForm"); form.addEventListener("submit", function(event) { var username = form.username.value; var password = form.password.value; var email = form.email.value; // 在这里添加表单验证的代码 event.preventDefault(); }); </script> ``` 在表单提交事件中,我们获取了三个表单元素的值:用户名、密码、邮箱。接下来,我们可以使用正则表达式对这些值进行验证。 以下是一些常用的正则表达式验证规则: - 用户名:只能包含字母、数字和下划线,长度在 5 到 20 个字符之间。 ```javascript var usernameRegex = /^[a-zA-Z0-9_]{5,20}$/; if (!usernameRegex.test(username)) { alert("用户名格式不正确"); } ``` - 密码:只能包含字母、数字和特殊字符(例如 !@#$%^&*),长度在 6 到 20 个字符之间。 ```javascript var passwordRegex = /^[a-zA-Z0-9!@#$%^&*]{6,20}$/; if (!passwordRegex.test(password)) { alert("密码格式不正确"); } ``` - 邮箱:必须符合邮箱格式。 ```javascript var emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/; if (!emailRegex.test(email)) { alert("邮箱格式不正确"); } ``` 如果验证不通过,我们可以使用 `alert` 或者其他方法提示用户输入格式不正确。如果验证通过,我们可以继续执行表单提交操作。 希望这个示例可以对你有所帮助!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值