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

(0)

相关推荐

  • js检测离开或刷新页面时表单数据是否更改的方法

    本文实例讲述了js检测离开或刷新页面时表单数据是否更改的方法.分享给大家供大家参考,具体如下: function formIsDirty(form) { for (var i = 0; i < form.elements.length; i++) { var element = form.elements[i]; var type = element.type; if (type == "checkbox" || type == "radio") { if (

  • 一个检测表单数据的JavaScript实例

    一个检测表单数据的JavaScript实例,很简单,很实用,感兴趣的朋友可以看看 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>每天一个JavaScript实例-检测表单数据</title> <style> [role

  • 深入分析JSON编码格式提交表单数据

    以JSON编码格式提交表单数据是HTML5对WEB发展进化的又一大贡献,以前我们的HTML表单数据是通过key-value方式传输的服务器端,这种形式的传输对数据组织缺乏管理,形式十分原始.而新出现的JSON格式提交表单数据方法,将表单里的所有数据转化的具有一定规范的JSON格式,然后传输的服务器端.服务器端接收到的数据是直接可以使用的合格JSON代码. 如何声明以JSON格式提交表单 大家应该对如何用表单上传一个文件的写法很熟悉,它需要在HTML中form标记上添加 enctype="mult

  • 离开页面时检测表单元素是否被修改,提示保存的js代码

    复制代码 代码如下: window.onbeforeunload = function() { if(is_form_changed()) { return "您的修改内容还没有保存,您确定离开吗?"; } } function is_form_changed() { var t_save = jQuery("#t_save"); //检测页面是否要保存按钮 if(t_save.length>0) { //检测到保存按钮,继续检测元素是否修改 var is_c

  • jquery ajax 如何向jsp提交表单数据

    AJAX越来越火了,作为一个WEB程序开发者要是不会这个感觉就要落伍,甚至有可能在求职的时候屡被淘汰.我也是一个WEB程序开发者,当然我也要 "随波逐流"一把,不然饭碗不保啊! 之前实现AJAX使用Javascript脚本一个一个敲出来的,很繁琐.学习Jquery之后就感觉实现AJAX并不是那么的困难了,当然除了 Jquery框架外还有其它的优秀框架这里我就着重说下比较流行的Jquery.Jquery AJAX提交表单有两种方式,一是url参数提交数据,二是form提交(和平常一样在后

  • javascript检查表单数据是否改变的方法

    有的时候,需要检查用户是否修改了一个表单中的内容,则可以使用下面的技巧,其中如果修改了表单的内容则返回true,没修改表单的内容则返回false.代码如下: 复制代码 代码如下: function formIsDirty(form) { for (var i = 0; i < form.elements.length; i++) { var element = form.elements[i]; var type = element.type; if (type == "checkbox&

  • js实现表单检测及表单提示的方法

    本文实例讲述了js实现表单检测及表单提示的方法.分享给大家供大家参考.具体如下: 这是个实用的表单判断以及表单提示效果,如果点击需要输入文字的时候,提示就会跑出来,提示框的形状比较个性化,有一个三角符号指向输入框,有两张图片需要下载. 运行效果如下图所示: 在线演示地址如下: http://demo.jb51.net/js/2015/js-table-check-form-tips-codes/ 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTM

  • Javascript 表单之间的数据传递代码

    一,最简单的就是同一个网页里的表单的数据传递. 举个实例,一个网页上有两个表单,每个表单里一个文本框,一个按钮.点按钮互相对操作对方的文本框的值.我们举的例子是把一个文本框付给另一个文本框.具体的HTML代码如下:  复制代码 代码如下: <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/

  • js下利用userData实现客户端保存表单数据

    事实上,我们可以利用微软DHTML默认行为中的userData行为来实现这个功能. 因为很多网友问到这样的问题,整理了一下,并提供了三个示例.下面将就该行为的使用做一个介绍: UserData 行为(userData Behavior): 1.说明: userData行为通过将数据写入一个UserData存储区(UserData store)来保存数据,userData可以将数据以XML格式保存在客户端计算机上,如果你用的是 Windows 2000 或者 Windows XP,是保存在C:\D

  • 基于JavaScript将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)

    表单序列化类型的数据是指url传递的数据的格式,形如"key=value&key=value&key=value"这样的key/value的键值对.一般来说使用jQuery的$.fn.serialize函数能达到这样的效果.如何将这样的格式转化为对象? 我们知道使用jQuery的$.fn.serializeArray函数得到的是一个如下结构的对象 [ { name: "startTime" value: "2015-12-02 00:00:

  • javascript定时保存表单数据的代码

    (忘记是不是两家邮箱都有这个功能). 那这个功能是怎么做的呢? 定时,我们知道怎么弄,但保存呢?也许我们会通过隐藏域等手段来存放数据.但是,这个却有个缺点:那就是刷新页面后,数据将会丢失. 而此时,就该轮到我们很少关注,而且估计有不少人不知道的UserData 行为(userData Behavior)登场了: 而这个UserData是什么?怎么用?,我将在文章最后转载一篇介绍它的文章. 现在,我直接上例子,所谓无代码,无真相嘛: 复制代码 代码如下: <!DOCTYPE html PUBLIC

  • javascript表单域与json数据间的交互第1/3页

    包括对象中有集合属性.对象中引用其他对象属性: 复制代码 代码如下: /** **json对象数据设置到表单域中 */ function jsonObjectToForm(form, jsonObject){     for(i = 0, max = form.elements.length; i < max; i++) {         e = form.elements[i];         eName = e.name;         if(eName.indexOf('.') >

随机推荐