编辑浪子版表单验证类


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 相关文章推荐
javascript中的this详解
Dec 08 Javascript
JS实现页面超时后自动跳转到登陆页面
Jan 19 Javascript
详解JavaScript对W3C DOM模版的支持情况
Jun 16 Javascript
jQuery实现百叶窗焦点图动画效果代码分享(附源码下载)
Mar 14 Javascript
基于VUE选择上传图片并页面显示(图片可删除)
May 25 Javascript
jQuery 开发之EasyUI 添加数据的实例
Sep 26 jQuery
mongoose更新对象的两种方法示例比较
Dec 19 Javascript
解决angularjs中同步执行http请求的方法
Aug 13 Javascript
Vuejs2 + Webpack框架里,模拟下载的实例讲解
Sep 05 Javascript
微信小程序 拍照或从相册选取图片上传代码实例
Aug 28 Javascript
原生JS实现无缝轮播图片
Jun 24 Javascript
jQuery插件实现图片轮播效果
Oct 19 jQuery
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的源码中深入了解stdClass类
2014/04/18 PHP
实例讲解PHP面向对象之多态
2014/08/20 PHP
PHP7之Mongodb API使用详解
2015/12/26 PHP
PHP实现函数内修改外部变量值的方法示例
2018/12/28 PHP
各种效果的jquery ui(接口)介绍
2008/09/17 Javascript
jquery 插件学习(三)
2012/08/06 Javascript
javascript带回调函数的异步脚本载入方法实例分析
2015/07/02 Javascript
JS设置cookie、读取cookie
2016/02/24 Javascript
深入理解bootstrap框架之第二章整体架构
2016/10/09 Javascript
Angular中ng-bind和ng-model的区别实例详解
2017/04/10 Javascript
JavaScript数据结构之二叉树的遍历算法示例
2017/04/13 Javascript
移动端图片上传旋转、压缩问题的方法
2018/10/16 Javascript
Vue 引入AMap高德地图的实现代码
2019/04/29 Javascript
微信小程序实现翻牌抽奖动画
2020/09/21 Javascript
[53:10]完美世界DOTA2联赛决赛日 FTD vs GXR 第二场 11.08
2020/11/11 DOTA
Python基本数据类型详细介绍
2014/03/11 Python
python实现封装得到virustotal扫描结果
2014/10/05 Python
Python实现App自动签到领取积分功能
2018/09/29 Python
Python寻找两个有序数组的中位数实例详解
2018/12/05 Python
Python 文本文件内容批量抽取实例
2018/12/10 Python
天猫超市:阿里巴巴打造的网上超市
2016/11/02 全球购物
捷克多品牌在线时尚商店:ANSWEAR.cz
2020/10/03 全球购物
构造方法和其他方法的区别
2016/04/26 面试题
旅游管理专业个人求职信范文
2013/12/24 职场文书
请假条标准格式规范
2014/04/10 职场文书
"9.18"国耻日演讲稿范文
2014/09/14 职场文书
劳动争议和解协议书范本
2014/11/20 职场文书
2014年酒店服务员工作总结
2014/12/08 职场文书
保研导师推荐信
2015/03/25 职场文书
特此通知格式
2015/04/27 职场文书
车间班组长竞聘书
2015/09/15 职场文书
幼儿园教师教学反思
2016/03/02 职场文书
创业计划书之校园跑腿公司
2019/09/24 职场文书
vue实现Toast组件轻提示
2022/04/10 Vue.js
常用的文件对应的MIME类型汇总
2022/04/26 HTML / CSS
MySQL 逻辑备份 into outfile
2022/05/15 MySQL