编辑浪子版表单验证类


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 相关文章推荐
接收键盘指令的脚本
Jun 26 Javascript
jquery $.getJSON()跨域请求
Dec 21 Javascript
js操作CheckBoxList实现全选/反选(在客服端完成)
Feb 02 Javascript
[原创]推荐10款最热门jQuery UI框架
Aug 19 Javascript
jQuery Validate表单验证插件实现代码
Jun 08 jQuery
node.js中axios使用心得总结
Nov 29 Javascript
原生js实现form表单序列化的方法
Aug 02 Javascript
Bootstrap-table自定义可编辑每页显示记录数
Sep 07 Javascript
jsonp跨域获取百度联想词的方法分析
May 13 Javascript
layer实现登录弹框,登录成功后关闭弹框并调用父窗口的例子
Sep 11 Javascript
Vue中key的作用示例代码详解
Jun 10 Javascript
原生js实现分页效果
Sep 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内存不够用的快速解决方法
2013/10/26 PHP
CodeIgniter与PHP5.6的兼容问题
2015/07/16 PHP
yii2中dropDownList实现二级和三级联动写法
2017/04/26 PHP
thinkphp5.1框架容器与依赖注入实例分析
2019/07/23 PHP
PHP安装扩展mcrypt以及相关依赖项深入讲解
2021/03/04 PHP
JS中==与===操作符的比较
2009/03/21 Javascript
通过DOM脚本去设置样式信息
2010/09/19 Javascript
JS动态创建Table,Tr,Td并赋值的具体实现
2013/07/05 Javascript
Javascript中匿名函数的多种调用方式总结
2013/12/06 Javascript
javascript中验证大写字母、数字和中文
2014/01/15 Javascript
javascript 四十条常用技巧大全
2016/09/09 Javascript
jquery购物车结算功能实现方法
2020/10/29 Javascript
jQuery基本筛选选择器实例代码
2017/02/06 Javascript
JS简单获取日期相差天数的方法
2017/04/24 Javascript
原生JavaScript来实现对dom元素class的操作方法(推荐)
2017/08/16 Javascript
js核心基础之构造函数constructor用法实例分析
2019/05/11 Javascript
使用xampp将angular项目运行在web服务器的教程
2019/09/16 Javascript
在Vue项目中,防止页面被缩放和放大示例
2019/10/28 Javascript
有趣的JavaScript隐式类型转换操作实例分析
2020/05/02 Javascript
jQuery cookie的公共方法封装和使用示例
2020/06/01 jQuery
vue3.0中使用element的完整步骤
2021/03/04 Vue.js
在Django的视图中使用form对象的方法
2015/07/18 Python
Python Flask-web表单使用详解
2017/11/18 Python
python简单操作excle的方法
2018/09/12 Python
pytorch:实现简单的GAN示例(MNIST数据集)
2020/01/10 Python
Python如何合并多个字典或映射
2020/07/24 Python
css3背景_动力节点Java学院整理
2017/07/11 HTML / CSS
优秀求职信范文分享
2014/01/26 职场文书
人力资源管理专业应届生求职信
2014/04/24 职场文书
股东授权委托书范本
2014/09/13 职场文书
2015年采购工作总结
2015/04/10 职场文书
PyTorch dropout设置训练和测试模式的实现
2021/05/27 Python
Win11安装受阻怎么办? Windows11安装问题与解决方案汇总
2021/11/21 数码科技
vue中控制mock在开发环境使用,在生产环境禁用方式
2022/04/06 Vue.js
JavaScript获取URL参数的方法分享
2022/04/07 Javascript
Zabbix对Kafka topic积压数据监控的解决方案
2022/07/07 Servers