强效、方便的表单通用检测JS 不错
// 表单通用检测JS by www.it2048.com 整理/制作 H.Q.J 2007/1/10
//自定义属性解释(IE支持):
//ii_chname:表示该数据的中文名称
//ii_minsize:表示允许输入的最小长度,单位字节
//ii_maxsize:表示允许输入的最大长度,单位字节
//ii_type:输入的数据类型
//ii_null:表示输入值是否允许为空。为yes时允许为空。
//ii_compare:比交是否与某项(ID)值相同
function chkRadio(o){
        //判断单选
        for (i=0;i255) len+=2; else len++;
        }
        return len;
}
function isnull(str){
/* 检测字符串是否为空 */
        var i;
         for (i=0;i=0;i --)
            iSum += (Math.pow(2,i) % 11) * parseInt(strIDno.charAt(17 - i),11);
if(iSum%11!=1)
        {
            //alert("非法身份证号");
            return false;
        }
    }
    else if (idCardLength==15)
    {
        sBirthday = "19" + strIDno.substr(6,2) + "-" + Number(strIDno.substr(8,2)) + "-" + Number(strIDno.substr(10,2));
        var d = new Date(sBirthday.replace(/-/g,"/"))
        var dd = d.getFullYear().toString() + "-" + (d.getMonth()+1) + "-" + d.getDate();
        if(sBirthday != dd)
        {
           //alert("非法生日");
            return false;
        }
    }
    return true;
}
function isIP(obj)
{
    var re=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/; //IP正则
    if(re.test( obj ))
    {
        if( RegExp.$1 parseInt(input.ii_maxsize))
                {
                        //最大长度校验
                        msg +="*"+input.ii_chname+"超出最大长度("+input.ii_maxsize+"个字节)\n";
                        error = true;
                }
        }
if((input.ii_compare != undefined)&&(error==false)){
                var chv=document.getElementById(input.ii_compare).value;
                if ((chv != undefined)&&(chv != ""))
                {
                        if(chv != v){
                                msg +="*"+input.ii_chname+"与"+document.getElementById(input.ii_compare).ii_chname+"内容不相符,请检查\n";
                                error = true;
                        }
                }
        }
if(error) alert(msg);
        return error;
}
function chkFromAll(myform)
{        //检测所有自定义元素
        var i;
        for (i=0;i
无标题文档
| JS通用表单Input检测块(IE支持) 通过自定义每一个Input的六个新属性(可省略任意个) //自定义属性解释(IE支持): //ii_chname:表示该数据的中文名称 //ii_minsize:表示允许输入的最小长度,单位字节 //ii_maxsize:表示允许输入的最大长度,单位字节 //ii_type:限制输入的数据类型,有 EN(英文),CN(中文),NUM(实数),INT(整数),DATE(短日期),EMAIL(邮件) CARD(身份证),URL(网址),IP(IP地址),ID1(英文帐号),ID2(中英文帐号) //ii_null:表示输入值是否允许为空。为yes时允许为空。 //ii_compare:比交是否与某项(ID)值相同 然后有二种检测方式, 一是在Input里直接加入onBlur="verifyInput(this);" 事件,可即时检测提示 二是在Form中onsubmit="return chkFromAll(this);",提交才检测 使用可以直接本页内script部份另存为Form_Common.js包含就可以用,解决绝大部份表单检测 问题,与后台编程语言无关,加快后台程序编写效率,让你我更专注于后台编写 :) 由于众所周知的原因,FF等貌似不支持自定义属性,暂无解决方法(鄙视一下)。要想兼容可以自 写chkfrom函数利用document.getElementById('ID')和JS文件内函数来检测,也会加快效率 这只是我的web程序设计增效工具(Eff.Studio)的一部份,有朋友需要的话迟点我会公开由表直接自动生成表单工具、自动建立后台(含增加、列表、编辑、删除)的Class(因工作需要,暂只做ASP版) | 
演示表单:
| *注册帐号: | (帐号只能由英文、数字和下划线组成,5-16个字符) | 
| *登陆密码: | |
| *重复密码: | |
| *真实姓名: | (只能为中文) | 
| *联系邮件: | |
| *联系QQ: | (只能为数字) | 
| 联系地址: | |
| 自我简介: | (最多100个字) | 
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

