js实现注册验证

为什么需要表单验证(前端)?

首先我们要保证提交的数据是正确的,但是把信息都交给服务器去做服务器压力就太大了,所以要进行表单验证。

思路分析

  • 通过getElementById()方法获得表单元素的值
  • 通过字符串方法(包括正则式)对数据进行判断
  • 判断失败,利用alert()方法进行提示,返回false;判断成功,返回true进行表单提交

要点

  • getElementById(‘str’).value
  • str.length
  • 正则式
  • alert()方法

代码

<!DOCTYPE html>
<html>
<head>
	<title>注册验证</title>
	<meta charset='utf-8'/>
	<script type="text/javascript">
		function check(){
			var number = document.getElementById("number").value;
			
			if(number == ""){
				alert("手机号不能为空");
				return false;
				}
			if(/^[0-9][1-9]{10}$/.test(number) == false){	//使用正则表达式
				alert("手机号的格式不对");
				return false;
				}
			var pwd = document.getElementById("pwd").value;
			if(pwd == ""){
				alert("密码不能为空");
				return false;
				}
			if(pwd.length < 6){
				alert("密码的长度太短,应大于6");
				return false;
				}
			if(pwd.length > 12){
				alert("密码的长度太长,应该小于12");
				return false;
				}
			var pwd2  = document.getElementById("pwd2").value;
			if(pwd != pwd2){
				alert("两次输入的密码不一样,请重新输入");
				return false;
				}
			return true;
		}
	</script>
</head>
<body>
	<h2>注册账户</h2>
	<!--使用return check()只有当check的返回值为true表单才进行提交
		相比于get方法(get方法的信息出现在URL中),post方法更加安全性更高
		点击type = submit 的按钮后表单的信息就进行验证并提交
	-->
	<form method="post" name = "myform" onsubmit = "return check()">
		<table>
			<tr>
				<td>请输出手机号:</td>
				<!--name是表单提交信息变量的名字,主要在后端使用;而id是为了标识唯一的元素,所以表单的信息都需要name
					现在根据规范,都建议用id来标识元素
				-->
				<td><input id="number" name="number" type="text"/></td>
			</tr>
			<tr>
				<td>请输入密码:</td>
				<td><input id="pwd" name="password" type="password"></td>
			</tr>
			<tr>
				<td>请再次输入密码:</td>
				<td><input id="pwd2" name="password" type="password"></td>
			</tr>
		</table>
		<input type="submit" name="btn" value="注册">
	</form>
</body>
</html>

效果

在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值