编辑浪子版表单验证类


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 相关文章推荐
网上抓的一个特效
May 11 Javascript
基于JQuery实现异步刷新的代码(转载)
Mar 29 Javascript
本地图片预览(支持IE6/IE7/IE8/Firefox3)经验总结
Mar 25 Javascript
键盘上一张下一张兼容IE/google/firefox等浏览器
Jan 28 Javascript
可以浮动某个物体的jquery控件用法实例
Jul 24 Javascript
原生Javascript和jQuery做轮播图简单例子
Oct 11 Javascript
Jquery实时监听input value的实例
Jan 26 Javascript
HTML中使背景图片自适应浏览器大小实例详解
Apr 06 Javascript
在vue-cli脚手架中配置一个vue-router前端路由
Jul 03 Javascript
JavaScript对象的特性与实践应用深入详解
Dec 30 Javascript
JS实现求字符串中出现最多次数的字符和次数示例
Jul 05 Javascript
国内常用的js类库大全(CDN公共库)
Jun 24 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 set_time_limit(0) 设置程序执行时间的函数
2010/05/26 PHP
PHP遍历某个目录下的所有文件和子文件夹的实现代码
2013/06/28 PHP
php switch语句多个值匹配同一代码块应用示例
2014/07/29 PHP
PHP错误Warning: Cannot modify header information - headers already sent by解决方法
2014/09/27 PHP
php mysql PDO 查询操作的实例详解
2017/09/23 PHP
JS 参数传递的实际应用代码分析
2009/09/13 Javascript
JavaScript 存在陷阱 删除某一区域所有节点
2010/05/10 Javascript
javascript 正则替换 replace(regExp, function)用法
2010/05/22 Javascript
jQuery获取地址栏参数插件(模仿C#)
2010/10/26 Javascript
使用Jquery Aajx访问WCF服务(GET、POST、PUT、DELETE)
2012/03/16 Javascript
js实现select跳转菜单新窗口效果代码分享(超简单)
2015/08/21 Javascript
Jquery ajax基础教程
2015/11/20 Javascript
三分钟带你玩转jQuery.noConflict()
2016/02/15 Javascript
javascript面向对象程序设计高级特性经典教程(值得收藏)
2016/05/19 Javascript
基于jQuery实现多标签页切换的效果(web前端开发)
2016/07/24 Javascript
JS中script标签defer和async属性的区别详解
2016/08/12 Javascript
JavaScript创建对象的七种方式(推荐)
2017/06/26 Javascript
解决layui轮播图有数据不显示的情况
2019/09/16 Javascript
Python获取远程文件大小的函数代码分享
2014/05/13 Python
python关闭windows进程的方法
2015/04/18 Python
django manage.py扩展自定义命令方法
2018/05/27 Python
在python2.7中用numpy.reshape 对图像进行切割的方法
2018/12/05 Python
Python对接支付宝支付自实现功能
2019/10/10 Python
Python如何存储数据到json文件
2020/03/09 Python
python3.7 openpyxl 在excel单元格中写入数据实例
2020/09/01 Python
css3实现图片遮罩效果鼠标hover以后出现文字
2013/11/05 HTML / CSS
美国领先的户外服装与装备用品店:Moosejaw
2016/08/25 全球购物
Arti-shopping中文官网:大型海外商品一站式直邮平台
2020/03/23 全球购物
渗透攻击的测试步骤
2014/06/07 面试题
校园之声广播稿
2014/01/31 职场文书
农民工工资发放承诺书
2014/03/31 职场文书
地震捐款倡议书
2014/08/29 职场文书
优秀教师先进个人事迹材料
2014/08/31 职场文书
小学教师2014年度工作总结
2014/12/03 职场文书
利用ajax+php实现商品价格计算
2021/03/31 PHP
通过Qt连接OpenGauss数据库的详细教程
2021/06/23 PostgreSQL