编辑浪子版表单验证类


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 UI-Draggable 参数集合
Jan 10 Javascript
cookie.js 加载顺序问题怎么才有效
Jul 31 Javascript
JQEasy-ui在IE9以下版本中二次加载的问题分析及处理方法
Jun 23 Javascript
JavaScript时间转换处理函数
Apr 14 Javascript
jquery实现滑屏大图定时收缩为小banner图片的广告代码
Sep 02 Javascript
使用JQuery FancyBox插件实现图片展示特效
Nov 16 Javascript
基于Jquery easyui 选中特定的tab
Nov 17 Javascript
JavaScript取得gridview中获取checkbox选中的值
Jul 24 Javascript
AngularJS实现页面跳转后自动弹出对话框实例代码
Aug 02 Javascript
深入理解vue-router之keep-alive
Aug 31 Javascript
Angular4 反向代理Details实践
May 30 Javascript
Vue微信公众号网页分享的示例代码
May 28 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/01/02 PHP
PHP 编写大型网站问题集
2010/05/07 PHP
PHP+redis实现添加处理投票的方法
2015/11/14 PHP
CI框架入门之MVC简单示例
2016/11/21 PHP
实例解析php的数据类型
2018/10/24 PHP
PHP超低内存遍历目录文件和读取超大文件的方法
2019/05/01 PHP
js下写一个事件队列操作函数
2010/07/19 Javascript
js函数定时器实现定时读取系统实时连接数
2014/04/30 Javascript
Egret引擎开发指南之编译项目
2014/09/03 Javascript
jQuery模拟Marquee实现无缝滚动效果完整实例
2016/09/29 Javascript
Jquery EasyUI Datagrid右键菜单实现方法
2016/12/30 Javascript
Node.js操作redis实现添加查询功能
2017/05/25 Javascript
Vue.js常用指令之循环使用v-for指令教程
2017/06/27 Javascript
Webpack中雪碧图插件使用详解
2018/05/25 Javascript
vue input实现点击按钮文字增删功能示例
2019/01/29 Javascript
微信小程序如何使用globalData的方法
2019/06/06 Javascript
echarts.js 动态生成多个图表 使用vue封装组件操作
2020/07/19 Javascript
vue组件开发之slider组件使用详解
2020/08/21 Javascript
[01:32]dota2拉比克至宝(222)
2018/12/20 DOTA
python批量添加zabbix Screens的两个脚本分享
2017/01/16 Python
tensorflow TFRecords文件的生成和读取的方法
2018/02/06 Python
python3+PyQt5实现文档打印功能
2018/04/24 Python
Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码
2018/09/14 Python
Python实现合并两个有序链表的方法示例
2019/01/31 Python
使用python模拟高斯分布例子
2019/12/09 Python
使用tensorflow框架在Colab上跑通猫狗识别代码
2020/04/26 Python
python tkiner实现 一个小小的图片翻页功能的示例代码
2020/06/24 Python
Python实现中英文全文搜索的示例
2020/12/04 Python
Canvas与图片压缩的示例代码
2017/11/28 HTML / CSS
苹果美国官方商城:Apple美国
2016/08/24 全球购物
YBF Beauty官网:美丽挚友,美国知名彩妆品牌
2020/11/22 全球购物
个人先进事迹材料
2014/12/29 职场文书
神秘岛读书笔记
2015/07/01 职场文书
银行培训心得体会范文
2016/01/09 职场文书
一篇合格的广告文案,其主要目的是什么?
2019/07/12 职场文书
MySQL基础(二)
2021/04/05 MySQL