强效、方便的表单通用检测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需刷新才能执行]