编辑浪子版表单验证类


Posted in Javascript onMay 12, 2007

Autor:编辑浪子
From:http://bbs.51js.com/thread-68161-1-1.html
//表单验证类
function ValidatorClass()
{
 var IsError = false;

 //检查姓名,只能输入中文、字母、数字、下划线
 this.ChkName = function(obj,msg)
 {
 if (IsError) return;
 if (obj.value.Trim().length<2||(/[^u4e00-u9fa5w]/.test(obj.value.Trim()))) ErrorHandle(obj,msg);
 }

 //检查邮件地址
 this.ChkEmail = function(obj,msg)
 {
 if (IsError) return;
 if (!/^w+@w+.(?:com|cn|org|net|cc|tv|info|com.cn|net.cn|org.cn|gov.cn)$/i.test(obj.value.Trim())) ErrorHandle(obj,msg);
 }

 //检查地名,只能是中文,并不能为空
 this.ChkPlace = function(obj,msg)
 {
 if (IsError) return;
 if (obj.value.Trim().length<1||(/[^u4e00-u9fa5]/.test(obj.value.Trim()))) ErrorHandle(obj,msg);
 }

 //检查详细地址
 this.ChkAddress = function (obj,msg)
 {
 if (IsError) return;
 if (obj.value.Trim().length<2) ErrorHandle(obj,msg);
 }

 //检查邮件编码
 this.ChkPostNumber = function (obj,msg)
 {
 if (IsError) return;
 if(!(/^d{6}$/.test(obj.value.Trim()))) ErrorHandle(obj,msg);
 }

 //检查手机号码
 this.ChkMobile = function (obj,msg)
 {
 if (IsError) return;
 if (!(/^(?:13d|159)-?d{5}(d{3}|*{3})$/.test(obj.value.Trim()))) ErrorHandle(obj,msg);
 }

 //检查固定电话号码
 this.ChkPhone = function (obj,msg)
 {
 if (IsError) return;
 if (!((/^d{3,4}-?d{4,5}(d{3}|*{3})$/.test(obj.value.Trim())))) ErrorHandle(obj,msg);
 }

 //提交表单事件
 this.Submit = function (Form,msg)
 {
 if (IsError) return;
 if (msg) alert(msg);
 Form.submit();
 }

 //错误处理
 function ErrorHandle(obj,msg)
 {
 alert(msg);
 IsError = true;
 obj.focus(); 
 }

应用实例:
function ChkForm()
{
  var Form = document.TestForm;
  var Validator = new ValidatorClass();
  Validator.ChkName(Form.ZD_UserName,"订货人姓名不合法!");
  Validator.ChkEmail(Form.ZD_Email,"订货人邮件地址不合法!");
  Validator.ChkPlace(Form.ZD_Province,"订货人省份不合法!");
  Validator.ChkPlace(Form.ZD_City,"订货人城市不合法!");
  Validator.ChkAddress(Form.ZD_Address,"订货人地址不合法!");
  Validator.ChkPostNumber(Form.ZD_Zip,"订货人邮编不合法!");
  Validator.ChkMobile(Form.ZD_Mobile,"订货人移动电话不合法!");
  Validator.ChkPhone(Form.ZD_Phone,"订货人固定电话不合法!");
  Validator.Submit(Form,"验证成功!");
}

Javascript 相关文章推荐
File文件控件,选中文件(图片,flash,视频)即立即预览显示
Apr 09 Javascript
Exitjs获取DataView中图片文件名
Nov 26 Javascript
基于JQuery 的消息提示框效果代码
Jul 31 Javascript
Jquery 在页面加载后执行的几种方式
Mar 14 Javascript
jQuery窗口、文档、网页各种高度的精确理解
Jul 02 Javascript
node.js中的fs.mkdir方法使用说明
Dec 17 Javascript
JavaScript模拟深蓝vs卡斯帕罗夫的国际象棋对局示例
Apr 22 Javascript
javascript跨域方法、原理以及出现问题解决方法(详解)
Aug 06 Javascript
详解vue-cli 本地开发mock数据使用方法
May 29 Javascript
Javascript读取上传文件内容/类型/字节数
Apr 30 Javascript
JavaScript async/await原理及实例解析
Dec 02 Javascript
JavaScript实例 ODO List分析
Jan 22 Javascript
textContent在Firefox下与innerText等效的属性
May 12 #Javascript
关于__defineGetter__ 和__defineSetter__的说明
May 12 #Javascript
JavaScript Archive Network 集合
May 12 #Javascript
(仅IE下有效)关于checkbox 三态
May 12 #Javascript
弹出广告特效代码(一个IP只弹出一次)
May 11 #Javascript
模拟用户操作Input元素,不会触发相应事件
May 11 #Javascript
网上抓的一个特效
May 11 #Javascript
You might like
php中支持多种编码的中文字符串截取函数!
2007/03/20 PHP
将时间以距今多久的形式表示,PHP,js双版本
2012/09/25 PHP
php全排列递归算法代码
2012/10/09 PHP
php下获取http状态的实现代码
2014/05/09 PHP
php实现微信公众平台账号自定义菜单类
2015/10/11 PHP
利用PHP访问带有密码的Redis方法示例
2017/02/09 PHP
wordpress网站转移到本地运行测试的方法
2017/03/15 PHP
js生成随机数的方法实例
2015/10/16 Javascript
学习JavaScript设计模式之享元模式
2016/01/18 Javascript
js基础之DOM中document对象的常用属性方法详解
2016/10/28 Javascript
js利用for in循环获取 一个对象的所有属性以及值的实例
2017/03/30 Javascript
Vue项目全局配置微信分享思路详解
2018/05/04 Javascript
在 vue-cli v3.0 中使用 SCSS/SASS的方法
2018/06/14 Javascript
vue异步axios获取的数据渲染到页面的方法
2018/08/09 Javascript
Vue引用Swiper4插件无法重写分页器样式的解决方法
2018/09/27 Javascript
30分钟精通React今年最劲爆的新特性——React Hooks
2019/03/11 Javascript
[01:19:35]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第二局
2016/03/05 DOTA
[45:59]完美世界DOTA2联赛PWL S2 FTD vs GXR 第二场 11.22
2020/11/24 DOTA
[53:44]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第一场 1月31日
2021/03/11 DOTA
python socket网络编程步骤详解(socket套接字使用)
2013/12/06 Python
Python中扩展包的安装方法详解
2017/06/14 Python
用python处理图片实现图像中的像素访问
2018/05/04 Python
python通过Windows下远程控制Linux系统
2018/06/20 Python
python,Django实现的淘宝客登录功能示例
2019/06/12 Python
Django框架之DRF 基于mixins来封装的视图详解
2019/07/23 Python
pygame实现成语填空游戏
2019/10/29 Python
Python求正态分布曲线下面积实例
2019/11/20 Python
PyTorch 中的傅里叶卷积实现示例
2020/12/11 Python
next在python中返回迭代器的实例方法
2020/12/15 Python
Python爬虫自动化爬取b站实时弹幕实例方法
2021/01/26 Python
喷漆工的岗位职责
2014/03/17 职场文书
农民工预备党员思想汇报
2014/09/14 职场文书
营业用房租赁协议书
2014/11/26 职场文书
2014年林业工作总结
2014/12/05 职场文书
2015年团队工作总结范文
2015/05/04 职场文书
实习单位鉴定意见
2015/06/04 职场文书