js一个输入检测类

王朝学院·作者佚名  2009-06-23  
宽屏版  字体: |||超大  

类代码:

程序代码

<script language="javascript" type="text/javascript">

String.prototype.trim2 = function()

{

return this.replace(/(^\s*)|(\s*$)/g, "");

}

function $F(objid){

return document.getElementById(objid).value;

}

function $(objid){

return document.getElementById(objid);

}

function validator(){

//

}

validator.prototype={

errFlag:0,

isEmpty:function(strVal){

if( strVal == "" )

return true;

else

return false;

},

isBlank:function (testVal){

var regVal=/^\s*$/;

return (regVal.test(testVal))

},

chLen:function(strVal){

strVal=strVal.trim2();

var cArr = strVal.match(/[^\x00-\xff]/ig);

return strVal.length + (cArr == null ? 0 : cArr.length);

},

ckLen:function (testVal,min,max){

//var testVal=document.getElementById(tarFieldObjId).value;

if(max!=0){

if ((this.chLen(testVal)<min || this.chLen(testVal)>max)){

return false;

}

}else{

if (this.chLen(testVal)<min ){

return false;

}

}

return true;

},

chEmail:function (testVal){

var reg_mail = /^(([A-Za-z0-9\-]+_+)|([A-Za-z0-9\-]+\-+)|([A-Za-z0-9\-]+\.+)|([A-Za-z0-9\-]+\++))*[A-Za-z0-9_\-]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}$/;

return(reg_mail.test(testVal));

},

isMobile:function (s){//校验手机号码:必须以数字开头,除数字外,可含有“-”

var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;

return (patrn.test(s)) ;

} ,

isTel:function (s) ////校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”

{

var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;

return (patrn.test(s)) ;

} ,

isIdCard: function(cId)

{

var pattern;

if (cId.length==15)

{

pattern= /^\d{15}$/;// http://bizhi.knowsky.com/ 正则表达式,15位且全是数字

if (pattern.exec(cId)==null)

{

//alert("15位身份证号码必须为数字!")

return false;

}

if (!isdate("19"+cId.substring(6,8),cId.substring(8,10),cId.substring(10,12)))

{

//alert("身份证号码中所含日期不正确")

return false;

}

}

else if (cId.length==18)

{

pattern= /^\d{17}(\d|x|X)$/;//正则表达式,18位且前17位全是数字,最后一位只能数字,x,X

if (pattern.exec(cId)==null)

{

//alert("18位身份证号码必须为数字!")

return false;

}

if (!isdate(cId.substring(6,10),cId.substring(10,12),cId.substring(12,14)))

{

//alert("身份证号码中所含日期不正确")

return false;

}

var strJiaoYan =[ "1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"];

var intQuan =[7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1];

var intTemp=0;

for(i = 0; i < cId.length - 1; i++)

intTemp += cId.substring(i, i + 1) * intQuan[i];

intTemp %= 11;

if(cId.substring(cId.length - 1,cId.length).toUpperCase()!=strJiaoYan[intTemp])

{

//alert("验证码失败!")

return false;

}

}

else

{

//alert("长度必须为15或18!")

return false;

}

return true;

}

}

function isdate(intYear,intMonth,intDay)

{

if(isNaN(intYear)||isNaN(intMonth)||isNaN(intDay))

return false;

if(intMonth>12||intMonth<1)

return false;

if ( intDay<1||intDay>31)

return false;

if((intMonth==4||intMonth==6||intMonth==9||intMonth==11)&&(intDay>30))

return false;

if(intMonth==2)

{

if(intDay>29)

return false;

if((((intYear%100==0)&&(intYear%400!=0))||(intYear%4!=0))&&(intDay>28))

return false;

}

return true;

}

var c=new validator();

使用方法:

程序代码

val=document.getElementById(objid).value;

c.isEmpty(val);//返回布尔值

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有