//过滤非法字符
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+".οnsubmit=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>