身份证验证唯一不可重复(类似姓名、电话唯一)

在项目开发过程中,经常遇到像需要保证用户的名称、身份证、电话等唯一性。本例以身份证验证唯一来进行讲解。
jsp,对应的input框(我这使用的是公司自己封装的框架,这可以直接写input框)
<g2:textfield name="_M.identity" label="身份证" id="identity"  maxlength="33"  οnblur="onblurIdentity()"
			placeholder="请输入程序员身份证号"  
			data-bv-notempty="true" 
			data-bv-notempty-message="程序员身份证号不能为空" 
			data-bv-message="程序员身份证号无效" 
			data-bv-regexp="true"
			data-bv-regexp-message="校验格式不正确" 
			data-bv-regexp-regexp="[a-zA-Z]{2,6}[_][0-9]{2,6}"
	/>

对应的JavaScript的部分
在这里传入了两个参数,identity身份证号及SID,其中identity用来查询数据库中有没有相同的身份证号,SID用来判断查到的数据和传入的SID是不是相同(即用来判断是不是修改,修改的话是它本身,本身可以重复),当数据库中包含输入的数据的时候,将提交及保存按钮禁用,不允许提交保存。
  //身份证号
	   function onblurIdentity() {
		   $("#submit_id").attr({"disabled":false});
      	   $("#save_id").attr({"disabled":false});
		   var identity=$("#identity").val();
		   var id=$("#primary_id").val();
			 $.ajax({url:"programmer!viewIdentity.do", 
					 data :{"identity":identity,
						 	"SID":id
						   },
					 dateType : "json",
				    success : function(data) {
				    	var da=eval("("+data+")");
				    	console.log(da);
				         if(da.data=='success') {
				        	 $("#submit_id").attr({"disabled":"disabled"});
				        	 $("#save_id").attr({"disabled":"disabled"});
				        	 alert("您所填写的身份证已存在,请重新输入!");
				         }
				     }
			 });
	   }
Java后台部分
/**
	 * 根据输入的身份证号查询数据库是否含有重复的
	 * TODO
	 */
	public void viewIdentity() {
		try {
			List<Programmer> exsisIdentityt =  programmerBusiness.exsisIdentityt(identity);
			if(exsisIdentityt.size()>0) {
				if(SID!=null&!SID.equals("")) {
					for (int i = 0; i < exsisIdentityt.size(); i++) {
						if(exsisIdentityt.get(i).getId().equals(SID)) {
							GboatAppContext.output(JsonResult.createSuccess("failure"));
						}
					}
				}else {
						GboatAppContext.output(JsonResult.createSuccess("success"));
					}
			}else {
				GboatAppContext.output(JsonResult.createSuccess("failure"));
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
//		JsonResult.createFailure("failure");
	}

以上是关于身份证的验证,用户名及电话等都可以采用这种方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值