一个 h5 表单验证美化综合案例

其中,使用了三个事件:

  - oninput 事件 (用户输入时触发,input、textarea 的值发生改变时触发)

  - oninvalid 事件 (验证有误时触发)

  - onchange 事件

<!DOCTYPE html>
<html>
<head>
	<title>html5表单美化综合例子</title>
	<meta charset="utf-8">
	<style type="text/css">
		.oneList{margin:10px 0 5px 12px;}
		.oneList label{width: 80px;display: inline-block;}
		.oneList input, .oneList select{height: 25px;line-height: 25px;width:220px;border-radius: 3px;border:1px solid #e2e2e2;}
		.oneList input[type="submit"]{width: 150px;height: 30px;line-height: 30px;}
		
		input:required,select:required{
			background: url(img/xinhao.png) no-repeat 90% center;
		}
		input:required:valid,select:required:valid{
			background: url(img/yes.png) no-repeat 90% center;
			box-shadow: 0 0 5px green;
			border-color: green;
		}
		input:focus:required:invalid,select:focus:required:invalid{
			background: url(img/no.png) no-repeat 90% center;
			box-shadow: 0 0 5px red;
			border-color: red;
			outline: red solid 1px;
		}
	</style>
</head>
<body>
	<form class="myform" method="post">
		<div class="oneList">
			<label for="UserName">手机号</label>
			<input type="text" name="UserName" id="UserName" placeholder="请输入手机号码"
			pattern="^1[0-9]{10}$" required oninput="this.setCustomValidity('')" 
			oninvalid="this.setCustomValidity('请输入正确手机号码!')">
		</div>
		<div class="oneList">
			<label for="Password">密码</label>
			<input type="password" name="Password" id="Password" placeholder="6~20位"
			pattern="^[a-zA-Z0-9]\w{5,19}$" required oninput="this.setCustomValidity('')" 
			oninvalid="this.setCustomValidity('请输入正确密码!')" onchange="checkpassword()">
		</div>
		<div class="oneList">
			<label for="RePassword">确认密码</label>
			<input type="password" name="RePassword" id="RePassword" placeholder="确认密码"
			pattern="^[a-zA-Z0-9]\w{5,19}$" required onchange="checkpassword()">
		</div>
		<div class="oneList">
			<label for="RePassword">了解方式</label>
			<select name="know" required>
				<option value="">==请选择==</option>
				<option value="1">搜索引擎</option>
					<option value="2">朋友圈</option>
					<option value="3">朋友推广</option>
					<option value="4">广告投放</option>
			</select>
		</div>
		<div class="oneList">
			<input type="submit" value="提交">
		</div>
	</form>
	<script >
		function checkpassword(){
			var pass1 = document.getElementById("Password");
			var pass2 = document.getElementById("RePassword");
			if(pass1.value != pass2.value){
				pass2.setCustomValidity("两次密码输入不一致");
			}else{
				pass2.setCustomValidity("");
			}
		}
	</script>
</body>
</html>

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值