1. 程式人生 > >input輸入框驗證郵箱,身份證號碼,手機號碼(為了加深記憶,菜鳥,勿噴)

input輸入框驗證郵箱,身份證號碼,手機號碼(為了加深記憶,菜鳥,勿噴)

<form action="">
  輸入:<input type="text" name="idcard" id="idcard" placeholder="請輸入郵箱">
  <input type="button" value="驗證" onclick="check();">
</form>

<script>

     function check(){
  var reg = new RegExp("^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$");
  var obj = document.getElementById("idcard"); 

  if(obj.value === ""){ 
    alert("輸入不能為空!");
    return false;
  }else if(!reg.test(obj.value)){ 
    alert("請輸入有效合法的郵箱地址!");
    return false;
  }else{
    alert("有效合法的郵箱地址!");
    return true;
  }

//身份證號碼

var idcard=document.getElementById('idcard')
           
                if(!idcard){
                    alert("請輸入有效合法的身份證號碼!");
                  return false;
                }
                if(idcard.length<18){
                    alert("請輸入有效合法的身份證號碼!");
                  return false;
                }
                let len = 17;
                let sum = 0;
                let yzArray = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];
                let codeArray = ['1','0','X','9','8','7','6','5','4','3','2'];
                for(let i=0;i<len;i++){
                   sum+=idcard[i]*yzArray[i];
                }
                let mod = sum%11;
                if( codeArray[mod]==idcard[17] ){
                    alert("有效合法的身份證號碼!");
                  return true;
                }
                return false;
}

身份證號18位編碼規則,6位數字地址碼,8位數字出生日期碼,3位順序碼,1位數字校驗碼。演算法自行百度。

var phone = document.getElementById('idcard').value;
    if(!(/^1(3|4|5|7|8)\d{9}$/.test(phone))){ 
        alert("請輸入有效合法的手機號碼!");  
        return false; 
}

</script>