编辑浪子版表单验证类


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实现图片渐变切换兼容ie6/Chrome/Firefox
Aug 02 Javascript
javascript与有限状态机详解
May 08 Javascript
JavaScript中的DSL元编程介绍
Mar 15 Javascript
javascript实现设置、获取和删除Cookie的方法
Jun 01 Javascript
JavaScript中字面量与函数的基本使用知识
Oct 20 Javascript
JS中innerHTML和pasteHTML的区别实例分析
Jun 22 Javascript
各式各样的导航条效果css3结合jquery代码实现
Sep 17 Javascript
QRCode.js:基于JQuery的生成二维码JS库的使用
Jun 23 jQuery
详解bootstrap用dropdown-menu实现上下文菜单
Sep 22 Javascript
jQuery实现input[type=file]多图预览上传删除等功能
Aug 02 jQuery
JS运算符简单用法示例
Jan 19 Javascript
JS实现多功能计算器
Oct 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+JS+rsa数据加密传输实现代码
2011/03/23 PHP
php中使用explode查找某个字符是否存在的方法
2011/07/12 PHP
ThinkPHP3.2.2的插件控制器功能简述
2014/07/09 PHP
php中PDO方式实现数据库的增删改查
2015/05/17 PHP
php批量删除超链接的实现方法
2015/10/19 PHP
thinkPHP框架实现生成条形码的方法示例
2018/06/06 PHP
javascript HTMLEncode HTMLDecode的完整实例(兼容ie和火狐)
2009/06/02 Javascript
实现web打印的各种方法介绍及实现代码
2013/01/09 Javascript
$.getJSON在IE下失效的原因分析及解决方法
2013/06/16 Javascript
javascript修改图片src的方法
2015/01/27 Javascript
jQGrid动态填充select下拉框的选项值(动态填充)
2016/11/28 Javascript
Angular2入门教程之模块和组件详解
2017/05/28 Javascript
详解webpack+vue-cli项目打包技巧
2017/06/17 Javascript
解决vue2.0动态绑定图片src属性值初始化时报错的问题
2018/03/14 Javascript
Webpack打包字体font-awesome的方法示例
2018/04/26 Javascript
JavaScript读写二进制数据的方法详解
2018/09/09 Javascript
详解从NodeJS搭建中间层再谈前后端分离
2018/11/13 NodeJs
Python 列表(List) 的三种遍历方法实例 详解
2017/04/15 Python
Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】
2017/06/20 Python
python orm 框架中sqlalchemy用法实例详解
2020/02/02 Python
Python小白学习爬虫常用请求报头
2020/06/03 Python
纯CSS3实现地球自转实现代码(图文教程附送源码)
2012/12/26 HTML / CSS
HTML5 Canvas 起步(2) - 路径
2009/05/12 HTML / CSS
html5 CSS过度-webkit-transition使用介绍
2013/07/02 HTML / CSS
麦德龙官方海外旗舰店:德国麦德龙超市
2017/12/23 全球购物
Kangol帽子官网:坎戈尔袋鼠
2018/09/26 全球购物
阿迪达斯香港官网:adidas香港
2019/11/09 全球购物
什么时候需要进行强制类型转换
2016/09/03 面试题
潘婷洗发水广告词
2014/03/14 职场文书
装修施工安全责任书
2014/07/24 职场文书
学习雷锋精神活动总结
2015/02/06 职场文书
支行行长岗位职责
2015/02/15 职场文书
子女赡养老人协议书
2016/03/23 职场文书
Nginx配置之实现多台服务器负载均衡
2021/08/02 Servers
python之json文件转xml文件案例讲解
2021/08/07 Python
用Python仅20行代码编写一个简单的端口扫描器
2022/04/08 Python