/**
* 郵箱校驗
*/
function check_email(email){
var reg = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
return reg.test(email);
}
/**
* 手機號校驗,1開頭共11位數字。
*/
function check_phone(phone){
var reg = /^1\d{10}$/;
return reg.test(phone);
}
/**
* 身份證校驗,身份證號碼爲15位或者18位,15位時全爲數字,18位前17位爲數字,最後一位是校驗位,可能爲數字或字符X
*/
function check_ID(card){
var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
if(reg.test(card)){
if(card.length==18){
//將前17位加權因子保存在數組裏
var idCardWi=new Array( 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 );
//這是除以11後,可能產生的11位餘數、驗證碼,也保存成數組
var idCardY=new Array( 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 );
//用來保存前17位各自乖以加權因子後的總和
var idCardWiSum=0;
for(var i=0;i<17;i++){
idCardWiSum+=card.substring(i,i+1)*idCardWi[i];
}
//計算出校驗碼所在數組的位置
var idCardMod=idCardWiSum%11;
//得到最後一位身份證號碼
var idCardLast=card.substring(17);
//如果等於2,則說明校驗碼是10,身份證號碼最後一位應該是X
if(idCardMod==2){
if(idCardLast=="X"||idCardLast=="x"){
return true;
}else{
return false;
}
}else{
//用計算出的驗證碼與最後一位身份證號碼匹配,如果一致,說明通過,否則是無效的身份證號碼
if(idCardLast==idCardY[idCardMod]){
return true;
}else{
return false;
}
}
}
}else{
return false;
}
}
/**
* 字母校驗
* @param obj
* @returns {boolean}
*/
function check_letter(obj){
if (/^[a-za-z]+$/.test( obj ))
{
return true;
}else{
return false;
}
}
js 身份證、手機號、郵箱驗證
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.