常用JS表单验证

项目中会经常使用的一些表单验证信息,包含空字符及空格验证,验证非法字符,是否数字验证。

//表单验证检查空格
function chkspace(str){
 if(str.length==0){
  return true;
 }
 else{
  var strs = ”;
  for(i = 0; i < str.length; i++) {
  strs = strs + ‘ ‘;
  }
  return (str==strs);
 }
}
//表单验证检查非法字符
function chkfilter(str){
 if(str.search(”^[^/'`~/$/^/"]+$”)==-1){
  return true;
 }
 return false;
}
//表单验证检查数字
function chknumber(str){
 if(str.search(”^[^0-9]+$”)>=0){
  return true;
 }
 return false;
}

//检查邮件的合法性,Str:待检查字符,FS_Alert:错误信息显示容器
function checkMail(str,FS_Alert)
{
 var msg=”";
 var strr;
 try{
  var mail=document.getElementById(str).value;
  if(mail==”")
  {
   msg=”";
  }else{
   re=/(/w+@/w+/./w+)(/.{0,1}/w*)(/.{0,1}/w*)/i;
   re.exec(mail);
   if (RegExp.$3!=”"&&RegExp.$3!=”.”&&RegExp.$2!=”.”) strr=RegExp.$1+RegExp.$2+RegExp.$3
   else
   if (RegExp.$2!=”"&&RegExp.$2!=”.”) strr=RegExp.$1+RegExp.$2
   else strr=RegExp.$1
   if (strr!=mail)
   {
    msg=”<font style=/”font-family:Webdings;color:red/”>x</font><span class=’tx’>请填写正确的邮件地址</span>”;
   }
  }
  if (FS_Alert!=”"){
   if (msg==”"){
    document.getElementById(FS_Alert).innerHTML=”";
    return true;
   }else{
    document.getElementById(FS_Alert).innerHTML=msg;
    return false;
   }
  }
  else{
   if (msg==”"){
    return true;
   }else{
    return false;
   }
  }
 }
 catch(e){
  return false;
 }
 
}

 

//检查日期的合法性,字段说明同上

function valiateDate(str,FS_Alert)
{
 var valobj=document.getElementById(str);
 var dar=valobj.value.replace(”.”,”-”)
 if(dar==”")
 {
  document.getElementById(FS_Alert).innerHTML=”";
  return true;
 }
 if (dar==”") return;
 if(dar.split(”-”)[0].length==2)
 {
  var Current_Date = new Date();
  var Current_year = Current_Date.getYear();
  dar=Current_year.toString().substr(0,2)+dar
 }
 var datePat = /^(/d{4})(-)(/d{1,2})(-)(/d{1,2})$/;

 var matchArray = dar.match(datePat); // is the format ok?
 if (matchArray == null)
 {
  document.getElementById(FS_Alert).innerHTML=”<font style=/”font-family:Webdings;color:red/”>x</font><span class=’tx’>请参照格式:年年年年-月月-日日!</span>”;
  return false;
 }
 month = matchArray[3]; // parse date into variables
 day = matchArray[5];
 year = matchArray[1];
 if (month < 1 || month > 12)
 { // check month range
  document.getElementById(FS_Alert).innerHTML=”<font style=/”font-family:Webdings;color:red/”>x</font><span class=’tx’>月份超界!</span>”;
  return false;
 }
 if (day < 1 || day > 31)
 {
  document.getElementById(FS_Alert).innerHTML=”<font style=/”font-family:Webdings;color:red/”>x</font><span class=’tx’>日期超界!</span>”;
  return false;
 }
 if ((month==4 || month==6 || month==9 || month==11) && day==31)
 {
  document.getElementById(FS_Alert).innerHTML=”<font style=/”font-family:Webdings;color:red/”>x</font><span class=’tx’>”+month+”月没有31日!</span>”;
  return false;
 }
 if (month == 2) { // check for february 29th
 var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
 if (day>29)
 {
  document.getElementById(FS_Alert).innerHTML=”<font style=/”font-family:Webdings;color:red/”>x</font><span class=’tx’>2月不能超过29日!</span>”;
  return false;
 }
 if (day==29 && !isleap)
 {
  document.getElementById(FS_Alert).innerHTML=”<font style=/”font-family:Webdings;color:red/”>x</font><span class=’tx’>”+year + “年不是闰年,2月没有29日!</span>”;
  return false;
 }
 }
 document.getElementById(FS_Alert).innerHTML=”"
 return true;
}

//检查字符是否为数字,Str:待检查字符;FS_Alert:错误信息显示容器;isInteger:是否为整数
function isNumber(Str,FS_Alert,Msg,isInteger)
{
 var Obj=document.getElementById(Str)
 if(Obj.value==”)
 {
  document.getElementById(FS_Alert).innerHTML=”"
  return true;
 }
 else if(isNaN(Obj.value)||Obj.value<0)
 {
  document.getElementById(FS_Alert).innerHTML=”<font style=/”font-family:Webdings;color:red/”>x</font><span class=’tx’>”+Msg+”</span>”;
  return false;
 }
 else if(!isNaN(Obj.value)&&Obj.value>=0)
 {
  if(isInteger)
  {
   if(Obj.value.indexOf(”.”)>=0)//是否为整数
   {
    document.getElementById(FS_Alert).innerHTML=”<font style=/”font-family:Webdings;color:red/”>x</font><span class=’tx’>请使用整数</span>”;
    return false;
   }else
   {
    document.getElementById(FS_Alert).innerHTML=”"
    return true;
   }
  }
  else
  {
   document.getElementById(FS_Alert).innerHTML=”"
   return true;
  }
 }
}

 //检查字符是否为空,Str:待检查字符;FS_Alert:错误信息显示容器
function isEmpty(Str,FS_Alert)
{
 var Obj=document.getElementById(Str);
 var value=Obj.value.replace(/(^/s*)|(/s*$)/g, “”);
 if(value==”")
 {

  document.getElementById(FS_Alert).innerHTML=”<font style=/”font-family:Webdings;color:red/”>x</font><span class=’tx’>数据不能为空</span>”;
  return false;
 }else
 {
  var Str_Len = “”;
  var Len_Color = “”;
  Str_Len = value.length;
  if (Str_Len <= 50)
  {
   Len_Color = “006600″; 
  }
  else if (Str_Len > 50 && Str_Len <= 100)
  {
   Len_Color = “3300FF”; 
  }
  else if (Str_Len > 100)
  {
   Len_Color = “FF0000″;  
  }
  document.getElementById(FS_Alert).innerHTML=”<span class=’tx’>字数:<font style=/”color:#” + Len_Color + “;font-weight:bold;/”>” + Str_Len + “</font></span>”;
  return true;
 }
}
//检查字符是否为中文,Str:待检查字符;FS_Alert:错误信息显示容器

function isChinese(Str,FS_Alert)
{
 var Number = “0123456789.,abcdefghijklmnopqrstuvwxyz-//ABCDEFGHIJKLMNOPQRSTUVWXYZ`~!@#$%^&*()_”;
 var Obj=document.getElementById(Str);
 for (i = 0; i < Obj.value.length;i++)
 {  
  var c = Obj.value.charAt(i);
  if (Number.indexOf(c) == -1)
  {
   document.getElementById(FS_Alert).innerHTML=”<font style=/”font-family:Webdings;color:red/”>x</font><span class=’tx’>请不要使用中文字符</span>”;
   return false;
  }
 }
 document.getElementById(FS_Alert).innerHTML=”";
 return true
}

以下是一些常用的JS正则:

Email : /^/w+([-+.]/w+)*@/w+([-.]//w+)*/./w+([-.]/w+)*$/,
 Phone : /^((/(/d{3}/))|(/d{3}/-))?(/(0/d{2,3}/)|0/d{2,3}-)?[1-9]/d{6,7}(-[0-9]/d{2}){0,1}$/,
 Mobile : /^((/(/d{3}/))|(/d{3}/-))?13/d{9}$/,
 Url : /^http:[A-Za-z0-9]+/.[A-Za-z0-9]+[//=/?%/-&_~`@[/]/’:+!]*([^<>/"/"])*$/,
 //Url : /^http:[A-Za-z0-9-]+/.[A-Za-z0-9-]+[//=/./?%/-&_~`@[/]/’:+!]*([^<>/"/"])*$/,
 IdCard : /^/d{15}(/d{2}[A-Za-z0-9])?$/,
 Currency : /^/d+(/./d+)?$/,
 Number : /^/d+$/,
 Zip : /^[1-9]/d{5}$/,
 QQ : /^[1-9]/d{4,8}$/,
 Integer : /^[-/+]?/d+$/,
 Double : /^[-/+]?/d+(/./d+)?$/,
 English : /^[A-Za-z]+$/,
 Chinese :  /^[/u0391-/uFFE5]+$/,
 UnSafe : /^(([A-Z]*|[a-z]*|/d*|[-_/~!@#/$%/^&/*/./(/)/[/]/{/}<>/?/’/”]*)|.{0,5})$|/s/,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值