编辑浪子版表单验证类


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 div层的放大与缩小简单实现代码
Mar 28 Javascript
文本框文本自动补全效果示例分享
Jan 19 Javascript
快速学习jQuery插件 jquery.validate.js表单验证插件使用方法
Dec 01 Javascript
jquery特效 点击展示与隐藏全文
Dec 09 Javascript
js两种拼接字符串的简单方法(必看)
Sep 02 Javascript
AngularJS指令与控制器之间的交互功能示例
Dec 14 Javascript
IScroll那些事_当内容不足时下拉刷新的解决方法
Jul 18 Javascript
react开发教程之React 组件之间的通信方式
Aug 12 Javascript
微信小程序实现点赞、取消点赞功能
Nov 02 Javascript
微信小程序实现两个页面传值的方法分析
Dec 11 Javascript
JavaScript实现预览本地上传图片功能完整示例
Mar 08 Javascript
layui table表格数据的新增,修改,删除,查询,双击获取行数据方式
Nov 14 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无敌近乎加密方式!
2010/07/17 PHP
php程序的国际化实现方法(利用gettext)
2011/08/14 PHP
php中将指针移动到数据集初始位置的实现代码[mysql_data_seek]
2012/11/01 PHP
PHP基础之运算符的使用方法
2013/04/28 PHP
php计算当前程序执行时间示例
2014/04/24 PHP
Laravel中Trait的用法实例详解
2016/03/16 PHP
php之可变变量的实例详解
2017/09/12 PHP
tp5 实现列表数据根据状态排序
2019/10/18 PHP
Alliance vs Liquid BO3 第二场2.13
2021/03/10 DOTA
Mootools 1.2教程(21)——类(二)
2009/09/15 Javascript
IE6/7/8中Option元素未设value时Select将获取空字符串
2011/04/07 Javascript
JS时间选择器 兼容IE6,7,8,9
2012/06/26 Javascript
jquery checkbox 勾选的bug问题解决方案与分析
2014/11/13 Javascript
javascript 对象数组根据对象object key的值排序
2015/03/09 Javascript
JS中对象与字符串的互相转换详解
2016/05/20 Javascript
footer定位页面底部(代码分享)
2017/03/07 Javascript
JS实现对json对象排序并删除id相同项功能示例
2018/04/18 Javascript
详解Vue项目编译后部署在非网站根目录的解决方案
2018/04/26 Javascript
详解基于Vue2.0实现的移动端弹窗(Alert, Confirm, Toast)组件
2018/08/02 Javascript
vue数据初始化initState的实例详解
2019/04/11 Javascript
js获取对象,数组所有属性键值(key)和对应值(value)的方法示例
2019/06/19 Javascript
vue 地区选择器v-distpicker的常用功能
2019/07/23 Javascript
Vue 封装防刷新考试倒计时组件的实现
2020/06/05 Javascript
JavaScript Image对象实现原理实例解析
2020/08/26 Javascript
vue移动端写的拖拽功能示例代码
2020/09/09 Javascript
Python的另外几种语言实现
2015/01/29 Python
Python设计模式之装饰模式实例详解
2019/01/21 Python
如何通过python画loss曲线的方法
2019/06/26 Python
详解Python 多线程 Timer定时器/延迟执行、Event事件
2019/06/27 Python
python实现通过队列完成进程间的多任务功能示例
2019/10/28 Python
Python用5行代码实现批量抠图的示例代码
2020/04/14 Python
美国马匹用品和骑马配件购物网站:Horse.com
2018/01/08 全球购物
中国梦主题教育活动总结
2014/05/05 职场文书
红色故事演讲稿
2014/05/22 职场文书
北京英文导游词
2015/02/12 职场文书
学校社团活动总结
2015/05/07 职场文书