js验证电话号码和身份证号码(自己收藏)
ÊÇjspÒ?Ãæµ?ÓÃÏÂÃæµÄjs?úÂëµÄÒ??Î?Å????ÕûÀíÊÕ??µÄ×ÊÁÏ??
js?Å??ÎÄ?þ
function checkPhone(phone)
{
//ÑéÖ?µç??ºÅÂëÊÖ?úºÅÂë???üº?153??159ºÅ?Î if (phone==""){
alert("µç??ºÅÂë??ÄÜΪ?Õ??");
return false;
}
if (phone != ""){
var p1 = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/;
var me = false;
if (p1.test(phone)) me=true;
if (!me){
//alert('?Ô??Æð??ÄúÊäÈëµÄµç??ºÅÂëÓÐ?íÎó??ÇøºÅºÍµç??ºÅÂëÖ??äÇëÓÃ-?Ö?î');
return false;
}
}
return true;
}
function checkMobile(mobile) {
if (mobile != ""){
var reg0 = /^13\d{5,9}$/; var reg1 = /^153\d{4,8}$/; var reg2 = /^159\d{4,8}$/; var reg3 = /^0\d{10,11}$/; var reg4 = /^150\d{4,8}$/;
var reg5 = /^158\d{4,8}$/;
var reg6 = /^15\d{5,9}$/;
var my = false;
if (reg0.test(mobile))my=true; if (reg1.test(mobile))my=true; if (reg2.test(mobile))my=true; if (reg3.test(mobile))my=true; if (reg4.test(mobile))my=true; if (reg5.test(mobile))my=true; if (reg6.test(mobile))my=true; if (!my){
//alert('?Ô??Æð??ÄúÊäÈëµÄÊÖ?ú?òÐ?ÁéÍ?ºÅÂëÓÐ?íÎó??');
return false;
}
return true;
}
}
function checkPhoneAndMobile(phone) {
if (checkMobile(phone)||checkPhone(phone)){
return true;
}
return false;
}
function checkId(varInput){
if(varInput==null || varInput.trim()==""){
alert("Éí?ÝÖ?ºÅ??ÄÜΪ?Õ??ÇëÖØÐÂÊäÈë??");
return false;
}
varInput = varInput.trim();
if(varInput.length!=18 && varInput.length!=15){
alert("Éí?ÝÖ?ºÅÎ?Êý???Ô??ÇëÖØÐÂÊäÈë??");
return false;
}
var ret = convertID(varInput);
// alert(ret);
if(ret == false){
alert("Éí?ÝÖ?ºÅ??ÕýÈ???ÇëÖØÐÂÊäÈë??");
return false;
}
else if(varInput.length==18 && varInput!=ret){
alert("Éí?ÝÖ?ºÅ??ÕýÈ???ÇëÖØÐÂÊäÈë??");
return false;
}
else{
//?µ?ØÖµ?ÉÒÔ×Ô??Éý??18Î?Éí?ÝÖ?ºÅ
//return ret;
// alert("ÕýÈ?");
return true;
}
}
function convertID(varInput){
if(varInput==null || varInput.trim()==""){
return false;
}
var strOldID = new String(varInput.trim());
var strNewID = "";
if(strOldID.length==15){
for(i=0; i<15; i++){
//15Î?µÄÉí?ÝÖ?ºÅ?ØÐëÈ???ÓÉÊý×Ö×é?É???ñÔò??ÊÓΪ?Ç??
if(checkZInt(strOldID.substring(i,1))){
return false;
}
}
//È?µÃÉí?ÝÖ?ÖеÄÄêÔÂÈÕ
var year = "19" + strOldID.substr(6,2);
// alert(year);
var month = strOldID.substr(8,2);
// alert(month);
var day = strOldID.substr(10,2);
// alert(day);
//Ð?ÑéÈÕÆÚÊÇ?ñÕýÈ?
if(checkDate(year,month,day)){
return false;
}
strNewID = strOldID.substring(0,6) + "19" + strOldID.substring(6,15);
}
else if(strOldID.length==18){
for(i=0; i<17; i++){
//15Î?µÄÉí?ÝÖ?ºÅ?ØÐëÈ???ÓÉÊý×Ö×é?É???ñÔò??ÊÓΪ?Ç??
if(checkZInt(strOldID.substring(i,1))){
return false;
}
}
if(strOldID.substring(17,18).toUpperCase!="X" && checkZInt(strOldID.substring(17,18))){
return false;
}
//È?µÃÉí?ÝÖ?ÖеÄÄêÔÂÈÕ
var year = "19" + strOldID.substr(6,4);
var month = strOldID.substr(10,2);
var day = strOldID.substr(12,2);
//Ð?ÑéÈÕÆÚÊÇ?ñÕýÈ?
if(checkDate(year,month,day)){
return false;
}
strNewID = strOldID.substring(0,17);
}
else if(strOldID.length==17){
for(i=0; i<17; i++){
//15Î?µÄÉí?ÝÖ?ºÅ?ØÐëÈ???ÓÉÊý×Ö×é?É???ñÔò??ÊÓΪ?Ç??
if(checkZInt(strOldID.substring(i,1))){
return false;
}
}
//È?µÃÉí?ÝÖ?ÖеÄÄêÔÂÈÕ
var year = "19" + strOldID.substr(6,4);
var month = strOldID.substr(10,2);
var day = strOldID.substr(12,2);
//Ð?ÑéÈÕÆÚÊÇ?ñÕýÈ?
if(checkDate(year,month,day)){
return false;
}
strNewID = strOldID;
}
return strNewID = strNewID + createCK(strNewID);
}
function createCK(strID){
var s = 0;
var WI = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
var AI = "10X98765432";
for(i=0; i<17; i++){
j = strID.substr(i,1) * WI[i];
s = s + j;
}
s = s % 11;
return AI.substr(s,1);
}
function checkDate(year,month,day){
var flag=false;
var time=new Date(year,month-1,day);
// alert(time);
var e_year=time.getFullYear();
// alert(e_year);
var e_month=time.getMonth()+1;
// alert(e_month);
var e_day=time.getDate();
// alert(e_day);
if(year!=e_year||month!=e_month||day!=e_day)
{
flag=true;
}
return flag;
}
function checkZInt(str){
var reg = /^\d+$/;
if(arr=str.match(reg))
{
//È???ÊÇÊý×Ö
return false;
}
else
{
//º?ÓÐÆäËû×Ö?û
return false;
}
}
String.prototype.trim = function(){
return this.replace(/(^\s*)|(\s*$)/g, "");
}
String.prototype.ltrim = function(){
return this.replace(/(^\s*)/g, ""); }
String.prototype.rtrim = function(){
return this.replace(/(\s*$)/g, "");
}