CSDN博客

img panzi667

网页输入判断函数

发表于2004/9/17 15:52:00  842人阅读

//过滤非法字符
function String.prototype.trim(){return  this.replace(/(^/s*)|(/s*$)/g, "");}
//只能输入正确的日期格式
function isDate(s,msg){
 if (s.value.length==0)return true;
 if (!msg)msg='请输入正确的日期格式﹐例如2003-05-06';
 var str=s.value
 var reg = /^(/d{4})(-|//)(0?[1-9]|1[0-2])(-|//)(0?[1-9]|[12][0-9]|3[01])$/g;
 var r = reg.exec(str);
 if(r==null){alert(msg);s.select();return false;}
 var d = new Date(r[1], r[3]-1,r[5]);
 var newStr=d.getFullYear()+r[2]+(d.getMonth()+1)+r[2]+d.getDate()
 var reg=/(//|-)(0*)( *)([1-9])/g
 var t=s.value.replace(reg,'$1$4')
 if (newStr==t){return true;}
 s.focus();
 s.select();
 alert(msg);
 return false;
}
//只能输入标准的E-MAIL邮件格式
function isEmail(s,msg){
 if (s.value.length==0)return true;
 var reg = /^([a-z]){1,}([/.a-z0-9_/-]){1,}([a-z0-9]){1,}@([a-z0-9_-]){3,}(/.([a-z0-9]){2,4}){1,2}$/gi;
 if (reg.test(s.value))return true;
 else {
  alert((msg?msg:'请输入标准的E-MAIL邮件格式,例如test@163.net'));
  s.focus();
  s.select()
  return false;
 }
}
//只能输入英文
function isEnglish(s,msg){
 var reg=/^[a-z]*$/gi
 if(reg.test(s.value))return true
 else {
  alert((msg?msg:'该栏只能输入英文﹐请改正'));
  s.focus();
  s.select();
  return false;
 }
}
//只能输入中文
function isChinese(s,msg){
 var reg = /[^/u4E00-/u9FA5]/g;
 if (reg.test(s.value)){
  s.focus();
  s.select()
  alert((msg?msg:'该栏只能输入中文﹐请改正'));
  return false;
 }
 return true;
}
//不能输入中文
function isNoChinese(s,msg){
 var reg = /[/u4E00-/u9FA5]|[/uFE30-/uFFA0]/gi;
 if (reg.test(s.value)){s.select()
  alert((msg?msg:'该栏不能输入中文和全角符号,请改正'));
  return false;
 }
 return true;
}
//不能为空
function isZero(s,msg){
 var str=s.value.trim();
 if (str.length!=0)return true
 else {
  alert((msg?msg:'该栏不能为空,请改正'));
  s.focus();
  s.select();
  return false;
 }
}
//只能输入数字
function isNumeric(s,msg){
 if (s.value*1!=s.value){
  alert((msg?msg:'该栏只能输入数字﹐请改正'))
  s.focus();
  s.select()
  return false
 }
 return true
}

//只能输入英文和数字
function isEN(s,msg){
 var reg=/^[a-z0-9.]*$/gi
 if(reg.test(s.value))return true
 else {
  alert((msg?msg:'该栏只能输入英文和数字,请改正'));
  s.focus();
  s.select();
  return false;
 }
}
//函数接口
function chkForm(frmName){
 this.frmName=frmName;
 this.chkFunBody = "";
 this.isPass = function(eleName,chkFun,strMsg){
  this.chkFunBody += chkFun+"("+this.frmName+"."+eleName
  if(strMsg)this.chkFunBody +=",/""+strMsg+"/""
  this.chkFunBody +=") && "
  var tmp = "return( "+ this.chkFunBody +" true)"
  eval(this.frmName+".onsubmit=Function('"+tmp+"');");
 }
}

function checkvalue(str)
{
 var checkOK = "0123456789-.,";
 var checkStr = str;
 var allValid = true;
 var validGroups = true;
 var decPoints = 0;
 var allNum = "";
 var countNumberAfterDot;
 var countYN;

 countYN=0;
 countNumberAfterDot=0;

 for (i = 0;  i < checkStr.length;  i++)
 {
  ch = checkStr.charAt(i);
  for (j = 0;  j < checkOK.length;  j++)
  {
   if (ch == checkOK.charAt(j))
    break;
  }
  if (j == checkOK.length)
  {
   allValid = false;
   break;
  }
  if (ch == ".")
  {
   decPoints++;
   countYN=1;
  }
  if (ch == "," )
  {
   if (decPoints != 0)
   {
    validGroups = false;
    break;
   }
  }

  allNum+=ch;

  if (countYN==1){
   countNumberAfterDot++;}
 }

 if (!allValid)
 {
  alert("只能输入 数字 字符。");
  return (false);
 }

 if (decPoints > 1 || !validGroups || countNumberAfterDot >3)
 {
  alert("请输入一个有效数字。");
  return (false);
 }

 if (checkStr>999999999999.99 )
 {
  alert("您输入的数值过大,会导致溢出错误。");
  return (false);
 }
    if (checkStr<-999999999999.99)
    {
     alert("您输入的数值过小,会导致溢出错误。");
  return (false);
    }


 return true;
}


----
如何调用
<SCRIPT LANGUAGE="JavaScript">
var obj=new chkForm("form名字")

obj.isPass("输入框","isEN");

</SCRIPT>

0 0

相关博文

我的热门文章

img
取 消
img