用javascript写一个简单的登录表单,包含用户名、密码和手机号码。提交数据时验证用户名、密码和手机号输入格式。

题目:写一个用于登录的表单,包含用户名、密码和手机号码。提交数据的时候,要求验证:
1. 用户名必须输入汉字;
2. 密码总共6位,前2位为字母,后4位为数字;
3. 手机号码符合中国大陆手机号码格式
如果输入错误,则在输入框后面显示对应的文本提示信息

代码如下:

<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<script>
		
//		1.当失去焦点时,用户名校验函数
		function checkUserName(){
//			1.1 获取到usernameID对应的input元素节点和username对应的校验span元素节点
			var usernameNode = document.getElementById("usernameID");
			var usernameCheckNode = document.getElementById("usernameCheckID");
//			1.2 定义校验正则
			var usernameReg = /^[\u4e00-\u9fa5]+$/ig;
//			1.3 获取到username元素节点的value属性值
			var usernameValue = usernameNode.value;
//			1.4 判断value属性值是否匹配正则并进行相关处理
			if (usernameReg.test(usernameValue)) {
				usernameCheckNode.innerText = "用户名输入成功!";  //当用户名输入成功时候的校验结果
				usernameCheckNode.style.color = "green";
				return true;
			} else{
				usernameCheckNode.innerText = "用户名输入失败!请输入中文用户名";  //当用户名输入失败时候的校验结果
				usernameCheckNode.style.color = "red";
				return false;
			}
		}
		
//		2.当失去焦点时,密码校验函数
		function checkPassword(){
//			2.1 获取到passwordID对应的input元素节点和password对应的校验span元素节点
			var passwordNode = document.getElementById("passwordID");
			var passwordCheckNode = document.getElementById("passwordCheckID");
//			2.2 定义校验正则
			var passwordReg = new RegExp("^[a-zA-Z]{2}[0-9]{4}$","ig");
//			2.3 获取到password元素节点的value属性值
			var passwordValue = passwordNode.value;
//			2.4 判断value属性值是否匹配正则并进行相关处理
			if (passwordReg.test(passwordValue)) {
				passwordCheckNode.innerText = "密码输入成功!";  //当密码输入成功时候的校验结果
				passwordCheckNode.style.color = "green";
				return true;
			} else{
				passwordCheckNode.innerText = "密码输入失败!密码为6位,前两位为英文字母,后四位为数字";  //当密码输入失败时候的校验结果
				passwordCheckNode.style.color = "red";
				return false;
			}

		}
		
//		3.当失去焦点时,手机号校验函数
		function checkPhoneNumber(){
//			3.1 获取到phoneID对应的input元素节点和phoneNumber对应的校验span元素节点
			var phoneNode = document.getElementById("phoneID");
			var phoneCheckNode = document.getElementById("phoneCheckId");
//			3.2 定义校验正则
			var phoneReg = /^1[0-9]{10}$/ig;
//			3.3 获取到phoneNumber元素节点的value属性值
			var phoneValue = phoneNode.value;
//			3.4 判断value属性值是否匹配正则并进行相关处理
			if (phoneReg.test(phoneValue)) {
				phoneCheckNode.innerText = "手机号输入成功!";  //当手机号输入成功时候的校验结果
				phoneCheckNode.style.color = "green";
				return true;
			} else{
				phoneCheckNode.innerText = "手机号输入失败!请输入中国大陆手机号码";  //当手机号输入失败时候的校验结果
				phoneCheckNode.style.color = "red";
				return false;
			}
		}
		
//		4.定义整体提交数据校验函数
		function checkInput(){
			if (checkUserName() && checkPassword() && checkPhoneNumber()) {
				alert("恭喜注册成功!");
				return true;
			} else{
				return false;
			}
		}
		
	</script>
	<body>
		<form id="loginID" name="login" action="submit.html" method="get" onsubmit="return checkInput()">
			用户名:<input type="text" id="usernameID" name="username" placeholder="请输入中文用户名" onblur="checkUserName()"/>
			<span id="usernameCheckID"></span> <br />
			密码:<input type="password" id="passwordID" name="password" placeholder="密码为6位,前两位为英文字母,后四位为数字" onblur="checkPassword()"/>
			<span id="passwordCheckID"></span> <br />
			手机号码:<input type="text" id="phoneID" name="phoneNumber" placeholder="请输入中国大陆手机号" onblur="checkPhoneNumber()"/>
			<span id="phoneCheckId"></span>
			<br />
			<input type="submit" name="submit"/>
			<input type="reset"/>
		</form>
	</body>
</html>

第一次在博客写东西,可能有很多写得不对的地方,欢迎点评~

  • 6
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
以下是一个简单的注册页面,包含用户名密码、邮箱、手机号验证码,并且实现了基本验证: ```html <!DOCTYPE html> <html> <head> <title>注册页面</title> <script type="text/javascript"> function validateForm() { var username = document.forms["registerForm"]["username"].value; var password = document.forms["registerForm"]["password"].value; var email = document.forms["registerForm"]["email"].value; var phone = document.forms["registerForm"]["phone"].value; var captcha = document.forms["registerForm"]["captcha"].value; // 验证用户名 if (username == "") { alert("用户名不能为空!"); return false; } // 验证密码 if (password == "") { alert("密码不能为空!"); return false; } // 验证邮箱格式 var emailRegex = /^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$/; if (!emailRegex.test(email)) { alert("邮箱格式不正确!"); return false; } // 验证手机号格式 var phoneRegex = /^1[3456789]\d{9}$/; if (!phoneRegex.test(phone)) { alert("手机号格式不正确!"); return false; } // 验证验证码 if (captcha == "") { alert("验证码不能为空!"); return false; } } </script> </head> <body> <h1>注册页面</h1> <form name="registerForm" onsubmit="return validateForm()" method="post"> <label>用户名:</label> <input type="text" name="username"><br> <label>密码:</label> <input type="password" name="password"><br> <label>邮箱:</label> <input type="text" name="email"><br> <label>手机号:</label> <input type="text" name="phone"><br> <label>验证码:</label> <input type="text" name="captcha"><br> <input type="submit" value="注册"> </form> </body> </html> ``` 在这个页面中,我们通过 `document.forms` 获取表单元素,然后对用户输入的内容进行验证。如果某个输入框为空或格式不正确,就弹出提示框并返回 `false`,阻止表单提交。如果所有输入框都通过了验证,就返回 `true`,表单可以提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值