zoukankan      html  css  js  c++  java
  • js身份证格式验证

    js身份证格式验证

    一、总结

    一句话总结:

    这里身份证格式需要键盘验证,键盘按下事件是keydown,然后通过event可以获取按下的键的键码
    createEvent(cardId,"keydown",function(){
        var kaycode = event.kayCode || event.which;
        if(!(kaycode == 8 || (kaycode >=48 && kaycode<=57) || (kaycode >=96 && kaycode<=105))){
            if(event.ctrlKey){
                if(!(kaycode == 67 || kaycode == 65 || kaycode == 86 || kaycode == 88)){
                    event.preventDefault();
                }
            }else{
                event.preventDefault();
            }
        }
        if(cardId.value.length == 18){
            if(event.ctrlKey){
                if(!(kaycode == 67 || kaycode == 65 || kaycode == 86 || kaycode == 88)){
                    event.preventDefault();
                }
            }else if(kaycode != 8){
                event.preventDefault();
            }
        }
    },false);  

    1、js键盘事件判断(能够使用ctrl+v  ctrl+c之类的快捷键)?

    createEvent(cardId,"keydown",function(){ },false);  
    var kaycode = event.kayCode || event.which;
    if(!(kaycode == 8 || (kaycode >=48 && kaycode<=57) || (kaycode >=96 && kaycode<=105)))
    if(event.ctrlKey) 
    createEvent(cardId,"keydown",function(){
        var kaycode = event.kayCode || event.which;
        if(!(kaycode == 8 || (kaycode >=48 && kaycode<=57) || (kaycode >=96 && kaycode<=105))){
            if(event.ctrlKey){
                if(!(kaycode == 67 || kaycode == 65 || kaycode == 86 || kaycode == 88)){
                    event.preventDefault();
                }
            }else{
                event.preventDefault();
            }
        }
        if(cardId.value.length == 18){
            if(event.ctrlKey){
                if(!(kaycode == 67 || kaycode == 65 || kaycode == 86 || kaycode == 88)){
                    event.preventDefault();
                }
            }else if(kaycode != 8){
                event.preventDefault();
            }
        }
    },false);  

    二、js身份证格式验证

    1、需求

    身份证验证,只能输入数字不能输入字母,但是要能够使用ctrl+v  ctrl+c之类的快捷键,还要判断长度为18位

    2、效果及代码

    注:代码不一定可行,只是作为一个书写的一个模板

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     6     <meta http-equiv="X-UA-Compatible" content="ie=edge">
     7     <title>检验用户注册</title>
     8 </head>
     9 <body>
    10     <form action="/" method="post">
    11         <input type="text" placeholder="身份证" id="cardId"/>
    12         <br>
    13         <br>
    14         <input type="button" value="提交" onclick="button()"/>
    15     </form>
    16     <script>
    17         function createEvent(element,eventName,handler,useCapture){
    18             if(document.all){
    19                 element.attachEvent("on" + eventName,handler);
    20             }else{
    21                 element.addEventListener(eventName,handler,useCapture)
    22             }
    23         }
    24         var cardId = document.getElementById("cardId");
    25 
    26         createEvent(cardId,"keydown",function(){
    27             var kaycode = event.kayCode || event.which;
    28             if(!(kaycode == 8 || (kaycode >=48 && kaycode<=57) || (kaycode >=96 && kaycode<=105))){
    29                 if(event.ctrlKey){
    30                     if(!(kaycode == 67 || kaycode == 65 || kaycode == 86 || kaycode == 88)){
    31                         event.preventDefault();
    32                     }
    33                 }else{
    34                     event.preventDefault();
    35                 }
    36             }
    37             if(cardId.value.length == 18){
    38                 if(event.ctrlKey){
    39                     if(!(kaycode == 67 || kaycode == 65 || kaycode == 86 || kaycode == 88)){
    40                         event.preventDefault();
    41                     }
    42                 }else if(kaycode != 8){
    43                     event.preventDefault();
    44                 }
    45             }
    46         },false);      
    47         function button(){
    48             var cardId = document.getElementById("cardId").value;
    49             var re = /^d{17}(d|x)$/i;
    50             if (re.test(cardId)) {
    51                 alert("提交成功");
    52             }
    53             else{
    54                 alert("身份证格式不正确");
    55             }
    56         }
    57         
    58     </script>
    59 </body>
    60 </html>
     
  • 相关阅读:
    ASP.NET 2.0+GridView开发中遇到ViewState MAC验证错误
    Microsoft Robotics Studio与LEGO机器人[转]
    .net反射技术的应用—如何调用Java的COM接口[转]
    ORACLE函数大全
    BCD代码
    SQL Server 2005中Datetime类型转Varchar类型
    新任项目经理的五项必修课[转载]
    利用SqlBulkCopy实现网上答题系统[转]
    电信技术名词解释:移动IP技术综述[转]
    ASP页面中访问基于.net的COM组件[转]
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/12024330.html
Copyright © 2011-2022 走看看