编辑浪子版表单验证类


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对象是否可用的最正确方法分析
Oct 03 Javascript
JavaScript入门教程(3) js面向对象
Jan 31 Javascript
推荐40个非常优秀的jQuery插件和教程【系列三】
Nov 09 Javascript
js获取网页高度(详细整理)
Dec 28 Javascript
js怎么判断flash swf文件是否加载完毕
Aug 14 Javascript
基于js实现投票的实例代码
Aug 04 Javascript
JQuery在循环中绑定事件的问题详解
Jun 02 Javascript
vue+Java后端进行调试时解决跨域问题的方式
Oct 19 Javascript
详解plotly.js 绘图库入门使用教程
Feb 23 Javascript
浅谈vue父子组件怎么传值
Jul 21 Javascript
axios 封装上传文件的请求方法
Sep 26 Javascript
VUE 实现动态给对象增加属性,并触发视图更新操作示例
Nov 29 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调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别
2012/08/08 PHP
PHP 常用的header头部定义汇总
2015/06/19 PHP
php简单实现多语言切换的方法
2016/05/09 PHP
PHP中ID设置自增后不连续的原因分析及解决办法
2016/08/21 PHP
PHP自定义多进制的方法
2016/11/03 PHP
php数组指针操作详解
2017/02/14 PHP
php实现数组中出现次数超过一半的数字的统计方法
2018/10/14 PHP
PHPstorm启用自动换行的方法详解(IDE)
2020/09/17 PHP
JSONP 跨域访问代理API-yahooapis实现代码
2012/12/02 Javascript
javascript里模拟sleep(两种实现方式)
2013/01/25 Javascript
fmt:formatDate的输出格式详解
2014/01/09 Javascript
jquery动态添加删除一行数据示例
2014/06/12 Javascript
jquery SweetAlert插件实现响应式提示框
2015/08/18 Javascript
JS中Array数组学习总结
2017/01/18 Javascript
javascript 操作cookies详解及实例
2017/02/22 Javascript
AngularJS使用ng-class动态增减class样式的方法示例
2017/05/18 Javascript
vue 刷新之后 嵌套路由不变 重新渲染页面的方法
2018/09/13 Javascript
解决node-sass偶尔安装失败的方法小结
2018/12/05 Javascript
JS实现处理时间,年月日,星期的公共方法示例
2019/05/31 Javascript
javascript实现前端input密码输入强度验证
2020/06/24 Javascript
微信小程序实现列表的横向滑动方式
2020/07/15 Javascript
[16:27]DOTA2 HEROS教学视频教你分分钟做大人-艾欧
2014/06/11 DOTA
Python的装饰器使用详解
2017/06/26 Python
python使用KNN算法手写体识别
2018/02/01 Python
python实现远程通过网络邮件控制计算机重启或关机
2018/02/22 Python
django认证系统实现自定义权限管理的方法
2018/07/16 Python
Python sql注入 过滤字符串的非法字符实例
2020/04/03 Python
使用索引有什么好处
2016/07/27 面试题
运动会入场词60字
2014/02/15 职场文书
ktv好的活动方案
2014/08/17 职场文书
依法行政工作汇报材料
2014/10/28 职场文书
大学生见习报告范文
2014/11/03 职场文书
司法廉洁教育心得体会
2016/01/20 职场文书
python神经网络编程之手写数字识别
2021/05/08 Python
css3中2D转换之有趣的transform形变效果
2022/02/24 HTML / CSS
mapstruct的用法之qualifiedByName示例详解
2022/04/06 Java/Android