JavaScript实现简单的注册表单校验

js实现简单的注册表单校验


案例分析:
一般在我们注册时页面会要求我们填写基本信息,而信息格式的正确与否决定了我们能否注册成功。
当我们写完一行注册信息,鼠标焦点离开当前行时,行会用我们填写的信息去与后台编写的正则表达式匹配,若不符合格式,给出提示,反之。
技术总结:
document.getElementById—获取对象( 返回一个对象,用var接收).
onblur()—失去焦点事件
对象.innerHTML=" "-----对提示标签插入内容
正则表达式.test(校验对象)----这里将信息与正则表达式做匹配用的是test()方法
步骤分析:

  • 确定事件=onblur(“失去焦点”事件)
  • 编写正则表达式确定校验规则
  • 编写校验函数

一 :下面给出我的HTML页面(很简单)

<form action="#" method="post" >
	<table width="60%" height="60%"  align="center">
		<tr>
		<td colspan="3">会员注册USER REGISTER</td>
		</tr>
		<tr>
			<td width="20%">用户名:</td>
			//给这一行id为username,触发onblur事件的函数为checkUsername
			<td width="40%"><input type="text" id="username" onblur="checkUsername()"></td>
			//这一行为提示行,使用span标签插入,接在注册行后面,id为username_msg
			<td width="40%"><span id="username_msg"></span></td>
		</tr>
				
		<tr>
			<td width="20%">密码:</td>
			//给这一行id为password,触发onblur事件的函数为checkPassword
			<td width="40%"><input type="password" id="password" onblur="checkPassword()"></td>
			//这一行为提示行,使用span标签插入,接在注册行后面,id为username_msg
			<td width="40%"><span id="password_msg"></span></td>
		</tr>
				
		<tr>
			<td colspan="2" align="center">
				<input type="submit" value="注册" />
			</td>
		</tr>
	</table>
</form>

效果图:在这里插入图片描述
二 :正则表达式引用别人写好的,如下:
在这里插入图片描述
三 :编写函数

function checkUsername() {
	//用户名校验
	var usernameVal=document.getElementById("username").value
	var usernamemsgObj=document.getElementById("username_msg");
	if(/^\s*$/.test(usernameVal)){
		usernamemsgObj.innerHTML="<font color='red'>用户名不能为空</font>";
		return false;
	}else if(!/^[a-z0-9_-]{3,16}$/.test(usernameVal)){
	   //if语句中的叹号----如果usernameVal的值与正则表达式不匹配,则提示错误。
		usernamemsgObj.innerHTML="<font color='red'>用户名格式错误</font>";
		return false;
	}else{
		usernamemsgObj.innerHTML="";//将提示信息清空
	}
	return true;
}
function checkPassword(){
	//密码校验
	var passwordVal=document.getElementById("password").value;
	var passwordmsgObj=document.getElementById("password_msg");
	if(/^\s*$/.test(passwordVal)){
		passwordmsgObj.innerHTML="<font color='red'>密码不能为空</font>";
		return false;
	}else if(!/^[a-z0-9_-]{6,18}$/.test(passwordVal)){
		passwordmsgObj.innerHTML="<font color='red'>密码格式错误</font>";
		return false;
	}else {
		passwordmsgObj.innerHTML="";
	}
	return true;
}

四 :效果展示
输入一串空格或者不输入,当鼠标点击页面其他地方时,后面红色字体提示用户名不能为空
在这里插入图片描述
输入一串不规则字符,当鼠标点击页面其他地方时,后面红色字体提示用户名格式错误
在这里插入图片描述
密码的效果就不展示了,与用户名一样。

另:大家也可以尝试校验其它信息,如邮箱校验等等,写法大同小异。

感谢收看!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值