编辑浪子版表单验证类


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 相关文章推荐
jQuery源码分析-05异步队列 Deferred 使用介绍
Nov 14 Javascript
Node.js安装教程和NPM包管理器使用详解
Aug 16 Javascript
仿JQuery输写高效JSLite代码的一些技巧
Jan 13 Javascript
JS实现合并两个数组并去除重复项只留一个的方法
Dec 17 Javascript
整理关于Bootstrap模态弹出框的慕课笔记
Mar 29 Javascript
浅析Angular2子模块以及异步加载
Apr 24 Javascript
JavaScript中的FileReader图片预览上传功能实现代码
Jul 24 Javascript
laydate日历控件使用方法详解
Nov 20 Javascript
使用mint-ui实现省市区三级联动效果的示例代码
Feb 09 Javascript
jQuery创建及操作xml格式数据示例
May 26 jQuery
基于Vue 服务端Cookies删除的问题
Sep 21 Javascript
浅析webpack-bundle-analyzer在vue-cli3中的使用
Oct 23 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程序中的常见漏洞进行攻击
2006/10/09 PHP
ThinkPHP后台首页index使用frameset时的注意事项分析
2014/08/22 PHP
PHP简单字符串过滤方法示例
2016/09/04 PHP
PHP互换两个变量值的方法(不用第三变量)
2016/11/14 PHP
php 浮点数比较方法详解
2017/05/05 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
2018/06/13 PHP
jquery live()重复绑定的解决方法介绍
2014/01/03 Javascript
jquery模拟LCD 时钟的html文件源代码
2014/06/16 Javascript
js与C#进行时间戳转换
2014/11/14 Javascript
JavaScript跨浏览器获取页面中相同class节点的方法
2015/03/03 Javascript
教你如何使用firebug调试功能了解javascript闭包和this
2015/03/04 Javascript
java必学必会之static关键字
2015/12/03 Javascript
javascript html5 canvas实现可拖动省份的中国地图
2016/03/11 Javascript
省市二级联动小案例讲解
2016/07/24 Javascript
JavaScript实现横线提示输入验证码随输入验证码输入消失的方法
2016/09/24 Javascript
jQuery实现模拟flash头像裁切上传功能示例
2016/12/11 Javascript
jQuery 控制文本框自动缩小字体填充
2017/06/16 jQuery
react-navigation 如何判断用户是否登录跳转到登录页的方法
2017/12/01 Javascript
简单的Vue SSR的示例代码
2018/01/12 Javascript
JS实现遍历不规则多维数组的方法
2018/03/21 Javascript
使用layer弹窗和layui表单实现新增功能
2018/08/09 Javascript
实例分析编写vue组件方法
2019/02/12 Javascript
[55:42]VG vs VGJ.T 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
python sys.argv[]用法实例详解
2018/05/25 Python
基于python实现聊天室程序
2018/07/27 Python
详解python while 函数及while和for的区别
2018/09/07 Python
Python SMTP发送邮件遇到的一些问题及解决办法
2018/10/24 Python
python 变量初始化空列表的例子
2019/11/28 Python
python实现简单井字棋小游戏
2020/03/05 Python
CSS3动画animation实现云彩向左滚动
2014/05/09 HTML / CSS
英国家庭、花园、汽车和移动解决方案:Easylife Group
2018/05/23 全球购物
写好自荐信要注意的问题
2013/11/10 职场文书
网络管理员岗位职责
2014/03/17 职场文书
学生会宣传部部长竞选演讲稿
2014/04/25 职场文书
党员检讨书
2014/10/13 职场文书
流动人口婚育证明
2014/10/19 职场文书