Fork me on GitHub

校验用户名、密码、密码一直性。

	      <style>
			.error {
				color: red
			}
			
			.success {
				color: green
			}
		</style>
		<script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.8.3.js"></script>
		<script type="text/javascript">
			$(function() {
				$("#username").blur(function() {
					//获取username值
					var username_v = $("#username").val();
					//去掉两端空格
					username_v = $.trim(username_v);
					//对值进行非空校验
					if(username_v == "") {
						//为空
						$(this).next("span").text("用户名不能为空").removeClass().addClass("error");
					} else {
						alert(123);
						//这则表达式进行中文校验
						var username_reg = /[\u4e00-\u9fa5]/;
						var flag = username_reg.test(username_v);
						if(flag) {
							//正则表达式校验正确(含有中文)
							$(this).next("span").text("用户名不能含有中文").removeClass().addClass("error");
						} else {
							//用户名正确(查重)
							$.post("${pageContext.request.contextPath }/UserCheckServlet", {
								username: username_v
							}, function(data) {
								if(data == "true") {
									$("#username").next("span").text("用户名已存在").removeClass().addClass("error");
								} else {
									$("#username").next("span").text("用户名可用").removeClass().addClass("success");
								}
							});
						}
					}
				});
			
				
				$("#password").blur(function(){
					//获取文本框中信息   
					var password_v=$.trim($(this).val());
					//判断文本框的信息(是否为空)
					if(password_v==""){
						$(this).next("span").text("密码不能为空").removeClass().addClass("error");
					}else{
						//判断密码强度是否符合
						var password_reg=/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$/;
						if(password_reg.test(password_v)){
							$(this).next("span").text("密码合格").removeClass().addClass("success");
						}else{
							$(this).next("span").text("密码强度不够,密码必须由大小写字母、数字组成8-10位,不能包含中文和特殊字符!").removeClass().addClass("error");
						}
					}
				});
				
				
				$("#repassword").blur(function(){
					//获取文本框中信息   
					var repassword_v=$.trim($(this).val());
					//判断文本框的信息(是否为空)
					if(repassword_v==""){
						$(this).next("span").text("密码不能为空").removeClass().addClass("error");
					}else{
						//判断密码强度是否符合
						var password_reg=/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$/;
						if(password_reg.test(repassword_v)){
							var password_v=$.trim($("#password").val());
							if(repassword_v!=password_v){
								$(this).next("span").text("密码不一致").removeClass().addClass("error");
							}else{
								$(this).next("span").text("密码合格").removeClass().addClass("success");
							}
						}else{
							$(this).next("span").text("密码强度不够,密码必须由大小写字母、数字组成8-10位,不能包含中文和特殊字符!").removeClass().addClass("error");
						}
					}
				});
			})
		</script>

  使用jquery插件来进行表单校验

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
<style>
.error {
	color: red;
}
</style>
<script src="${pageContext.request.contextPath }/js/jquery-1.8.3.js"></script>
<script src="${pageContext.request.contextPath }/js/jquery.validate.js"></script>
<script src="${pageContext.request.contextPath }/js/messages_zh.js"></script>
<script>
	$(function() {
		$("form")
				.validate(
						{
							rules : {
								username : {
									required : true,
									minlength : 6,
									maxlength : 18,
									username_reg : true,
									remote : {
										url : "${pageContext.request.contextPath}/UserCheckServlet", //后台处理程序
										type : "post", //数据发送方式
										data : { //要传递的数据
											username : function() {
												return $("#username").val();
											}
										}
									}
								},
								password : {
									required : true,
									password_reg : true
									
								},
								repassword : {
									required : true,
									password_reg : true,
									equalTo: "#password"
									
								},
								tel : {
									required : true,
									tel_reg : true
								},
								IDCard:{
									required:true,
									IDCard_reg:true
								},
								email:{
									required:true,
									email:true
								}
								
							},
							messages : {
								username : {
									required : "请输入用户名",
									username_reg : "用户名不能为中文"
								},
								password : {
									required : "密码不能为空",
									password_reg : "密码必须是大小写和数字的组合,长度8-10位"
								},
								repassword : {
									required : "不能为空",
									password_reg : "密码必须是大小写和数字的组合,长度8-10位",
									equealTo:"密码不一致"
								},
								tel : {
									required : "电话号码不能为空",
									tel_reg : "格式不正确"
								},
								IDCard:{
									required:"身份证号不能为空",
									IDCard_reg:"身份证号码格式不正确(15 或 18位)"
								},
								email:{
									required:"邮箱不能为空",
									
								}
							}
						});
		jQuery.validator.addMethod("username_reg", function(value, element) {
			var username = /[\u4e00-\u9fa5]/;
			return this.optional(element) || !(username.test(value));
		});
		jQuery.validator.addMethod("password_reg", function(value, element) {
			  var password = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$/;
			    return this.optional(element) || (password.test(value));
		});
		jQuery.validator.addMethod("tel_reg", function(value, element) {
			  var tel = /^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$/;
			    return this.optional(element) || (tel.test(value));
		});
		jQuery.validator.addMethod("IDCard_reg", function(value, element) {
			  var idcard = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;
			  var idcard1 = /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/;
			    return this.optional(element) || (idcard.test(value))||(idcard1.test(value));
		});
		jQuery.validator.addMethod("email_reg", function(value, element) {
			  var tel = /^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$/;
			    return this.optional(element) || (tel.test(value));
		});
	});
</script>

</head>

<body>
	<form action="#" method="post" id="form1">
		<table border="1">
			<tr>
				<td align="right">用戶名:</td>
				<td><input type="text" id="username" name="username" /><span></span>
				</td>
			</tr>
			<tr>
				<td align="right">密码:</td>
				<td><input type="text" id="password" name="password" /> <span></span>
				</td>
			</tr>
			<tr>
				<td align="right">确认密码:</td>
				<td><input type="text" id="repassword" name="repassword" /> <span></span></td>
			</tr>
			<tr>
				<td align="right">性别:</td>
				<td>男<input type="radio" name="sex" value="man"
					checked="checked" /> 女 <input type="radio" name="sex"
					value="woman" />
				</td>
			</tr>
			<tr>
				<td align="right">手机号码:</td>
				<td><input type="text" id="tel" name="tel" /> <span></span></td>
			</tr>
			<tr>
				<td align="right">身份证:</td>
				<td><input type="text" id="IDCard" name="IDCard" /> <span></span></td>
			</tr>
			<tr>
				<td align="right">邮箱:</td>
				<td><input type="text" id="email" name="email" /></td>
			</tr>
			<tr align="center">
				<td colspan="2"><input type="submit" value="提交" /> <input
					type="reset" value="重置" /></td>
			</tr>
		</table>
	</form>
</body>

</html>

  

posted on 2017-10-20 21:42  TopTime  阅读(234)  评论(0编辑  收藏  举报