您的位置:首页 > Web前端 > JavaScript

javascript常用数据验证函数

2016-02-29 14:37 801 查看
正则表达式日期验证函数

function CheckDate(str){

      //在JavaScript中,正则表达式只能使用"/"开头和结束,不能使用双引号

       var Expression=/^((((1[6-9]|[2-9]\d)\d{2})(\/|\-)(0?[13578]|1[02])(\/|\-)(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2}) (\/|\-)(0?[13456789]|1[012])(\/|\-)(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})(\/|\-)0?2(\/|\-)(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$/; 

       var objExp=new RegExp(Expression);

       if(objExp.test(str)==true){

            return true;

       }else{

            return false;

       }

}

输入日期格式验证

function CheckDate(INDate){ 

if (INDate==""){return true;}

if(INDate.indexOf('-',0)!=-1){ separate="-"}

else{

if(INDate.indexOf('/',0)!=-1){separate="/"}

else {return true;}

}

area=INDate.indexOf(separate,0)

//获取年份

subYY=INDate.substr(0,area)

if(isNaN(subYY) || subYY<=0){

   return true;

}  

//转换月份

subMM=INDate.substr(area+1,INDate.indexOf(separate,area+1)-(area+1))

if(isNaN(subMM) || subMM<=0){

   return true;

}

if(subMM.length<2){subMM="0"+subMM}

//转换日

area=INDate.lastIndexOf(separate)

subDD=INDate.substr(area+1,INDate.length-area-1)

if(isNaN(subDD) || subDD<=0){

   return true;

}

if(eval(subDD)<10){subDD="0"+eval(subDD)}

NewDate=subYY+"-"+subMM+"-"+subDD

if(NewDate.length!=10){return true;}

if(NewDate.substr(4,1)!="-"){return true;}

if(NewDate.substr(7,1)!="-"){return true;}

var MM=NewDate.substr(5,2);

var DD=NewDate.substr(8,2);

if((subYY%4==0 && subYY%100!=0)||subYY%400==0){ //判断是否为闰年

   if(parseInt(MM)==2){

if(DD>29){return true;}

   }

}else{

   if(parseInt(MM)==2){

if(DD>28){return true;}

   } 

}

var mm=new Array(1,3,5,7,8,10,12); //判断每月中的最大天数

for(i=0;i< mm.length;i++){

   if (parseInt(MM) == mm){

if(parseInt(DD)>31){

return true;

}else{

return false;

}

   }

}

if(parseInt(DD)>30){return true;}

if(parseInt(MM)>12){return true;}

return false;

}

email验证

function checkemail(str){

    //在JavaScript中,正则表达式只能使用"/"开头和结束,不能使用双引号

var Expression=/\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/; 

var objExp=new RegExp(Expression);

if(objExp.test(str)==true){

return true;

}else{

return false;

}

}

家庭电话号码验证函数

function checktel(tel){

var str=tel;

    //在JavaScript中,正则表达式只能使用"/"开头和结束,不能使用双引号

var Expression=/(\d{3}-)?\d{8}|(\d{4}-)(\d{7})/; 

var objExp=new RegExp(Expression);

if(objExp.test(str)==true){

return true;

}else{

return false;

}

}

汉字验证函数

function checkrealname(realname){

var str=realname;

    //在JavaScript中,正则表达式只能使用"/"开头和结束,不能使用双引号

var Expression=/[^\u4E00-\u9FA5]/; 

var objExp=new RegExp(Expression);

if(objExp.test(str)==true){

return true;

}else{

return false;

}

}

身份证号码验证函数

function checkeNO(NO){

var str=NO;

    //在JavaScript中,正则表达式只能使用"/"开头和结束,不能使用双引号

var Expression=/^\d{17}[\d|X]|^\d{15}$/; 

var objExp=new RegExp(Expression);

if(objExp.test(str)==true){

return true;

}else{

return false;

}

}

金额小写变大写函数

function convert(str){

   if(str==""){

alert("请输入金额!");form1.money.focus();return;

   }

   if(isNaN(str)){

alert("您输入的金额不合法!");return;

   }

   if(str>999999999999){

alert("您输入的金额不能大于999999999999!");return;

   }

   //将小数点后保留两位小数

   if(str.indexOf(".")>0){

var decimal=str.length-str.indexOf(".")-1;

if(decimal>2){

str=str.substr(0,str.length+2-decimal);

}

   }

   value=change(str); //调用自定义函数转换

   form1.moneyok.value=value;   //将转换后的值赋给"转换后的大写金额"文本框

}

function change(str){

   je="零壹贰叁肆伍陆柒捌玖";

   cdw="万仟佰拾亿仟佰拾万仟佰拾元角分";

   var newstring=(str*100).toString();

   newstringlog=newstring.length;

   newdw=cdw.substr(cdw.length-newstringlog);

   num0=0;     //记录零的个数

   wan=0;     //记录万位出现的次数

   dxje="";     //记录大写金额

   for(m=1;m<newstringlog+1;m++){

xzf=newstring.substr(m-1,1); 

dzf=je.substr(xzf,1);

dw=newdw.substr(m-1,1);

if(dzf=="零"){

dzf="";

if(dw=="亿"){

}else if(dw=="万"){

dzf="";

wan=1; 

}else if(dw=="元"){

}else{

dw=""; //记录单位  

}

num0=num0+1;

}else{

if(num0-wan>0){

    if(dw!="角"){

    dzf="零"+dzf;

    }

}

num0=0;

}

dxje=dxje+dzf+dw;

   }

   if(newstring.length!=1){

if(newstring.substr(newstring.length-2)=="00"){

dxje=dxje+"整";

}else{

dxje=dxje;

}

   }

   return dxje;

}

去除字符串空格函数

function trim(str){ //去除首尾空格

var re=/(^\s*)|(\s*$)/g;

str=str.replace(re,"");

return str;

}

function alltrim(str){ //去除全部空格

var re=/\s/g; 

str=str.replace(re,"");

return str;

}

function rtrim(str){ //去除尾部空格

var re=/(\s*$)/g; 

str=str.replace(re,"");

return str;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息