份证号是否已注册,身份证号是否正确

//AJAX验证身份证号,为了减少访问数据量用JAVASCRIPT先进行验证

1、 页面在身份证号(trainUser.cardNo)加οnblur="check"即可;
 
2、 javascript中间写入:
 /*************************************javascript开始********************************************************/
    function showResponse(originalRequest){               
        Element.hide($('load'));//用设定它的 style.display 为 'none'来隐藏每个传入的元素。
  var getmsgstr=originalRequest.responseText;
  if(getmsgstr!=""&&getmsgstr==1)
  {
   alert("你输入的身份证号不存在"); //弹出服务器端的msgStr字符串
   Field.focus($('trainUser.cardNo')); //移动焦点到给定的表单项目。
  }else if(getmsgstr!=""&&getmsgstr==2) 
  {
       var  selectSale=window.confirm ("请选择销售区分:点确定选择挖掘机,点取消选择装载机"); 
     if(selectSale){
     $("trainUser.saleDistinction").value=21;
     } else{
     $("trainUser.saleDistinction").value=22;
     }
  }   
    }   
    function showDiv(){        
        Element.show($('load'));//用设定它的 style.display 为 ''来显示每个传入的元素。   
    }   
    //身份验证    
    function check(){          
        var pars=Form.Element.serialize($('trainuser.cardNo'));   
        var url='/webadmin/login/checkCardNo.action'; //返回元素的 名称=值 对, 如 'elementName=elementValue'           
           
        if($F('trainuser.cardNo')==""){   
            alert("请输入身份证号!");   
            return false;   
        }else if(isIdCard()==false){
   Field.focus($('trainUser.cardNo'));
   return false;
  }
        else{   
            var myAjax = new Ajax.Request(   
                    url,{method:'get',   
                    parameters:pars,   
                    onLoading:showDiv,   
                    onComplete:showResponse,   
                    onFailure:reportError});//构造函数,见讲解   
       }   
    }   
    function reportError(){   
        alert('验证失败,请重试!');   
    } 
 /**验证身份证号*/
function  isIdCard()
{ var card=$("trainUser.cardNo").value;
 var cardLen;
 var cardDate;
 var chkSex;
 cardLen=card.length;
 //长度
  if (cardLen!=15 && cardLen!=18)
   {
   alert("身份证号码长度错误");
   return false;
   }

 //验证是否为数字
  if (isNaN(card.substring(0,cardLen-1)))
  {
   alert("请输入正确身份证号码!");
   return false;
  }
  else
  {
  chkSex=card.charAt(cardLen-1);
  }

 //取生日
  if (18==cardLen)
   {
   cardDate=card.substring(6,14);
   }
   else
   {
   cardDate=card.substring(6,12);
   }
 
 //判断最后一位
  
  if (cardLen==15)
  {
   if (isNaN(chkSex))
   {
   alert("请输入正确身份证号码!");
   return false;
   }
  }
  else
  {
   if (isNaN(chkSex))
   {
    if (chkSex!="x" && chkSex!="X")
    {
    alert("请输入正确身份证号码!");
    return false;
    }
   }
  }
 return true;

/***********************javascript结束**************************************************/    
Struts.xml配置action
/**********************************************************/
<!--验证身份证号-->
  <action name="checkCardNo"
   class="com.jerehnet.trainExam.basic.web.action.TrainUserAction"
   method="checkCardNo">
</action>
/**********************************************************/
Action中的方法
/**********************************************************/
public void checkCardNo() {
    HttpServletResponse response = ServletActionContext.getResponse(); //取response对象   
    HttpServletRequest request = ServletActionContext.getRequest();//取request对象  
    //serverce层写的验证身份证号是否存在方法
    int cardInfo = trainUserService.cardInfo(request, trainUser);
  //服务器响应   
    response.setContentType("text/xml;charset=utf-8");   
    response.setHeader("Cache-Control","no-cache");   
    String msgStr="";   
    if(cardInfo==1){      
        msgStr ="1";   
    }      
    else if(cardInfo==2){   
       msgStr ="2";     
    }   
       
    try{//response写信息   
     response.getWriter().print(msgStr);   
     response.getWriter().close();   
    }catch(Exception e){   
     e.printStackTrace();   
    }    
   }   
/**********************************************************/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值