JavaScript通过RegExp实现客户端验证处理程序


Posted in Javascript onMay 07, 2013

1.让文本框只允许输入数字,运用asp.net mvc3.0的文本框控件

@Html.TextBox("txt",null, new {@style="width:300;",onkeypress="return RegValidateIsDigit(event)" })

可以看到在文本框中注册了onkeypress事件,当在文本框中输入一个字符按下键盘的时候就会触发该JavaScript的函数
<script type="text/javascript"> 
function RegValidateIsDigit(e) { 
var KeyChar; 
debugger; 
////判断浏览器 
if (window.event) //IE 
{ 
KeyChar = e.keyCode; 
} 
else if (e.which)///FireFox等 
{ 
KeyChar = e.which; 
} 
var str = String.fromCharCode(KeyChar); ///通过UniCode编码来来查找相应的字符 
return regIsDigit(str); 
} 
function regIsDigit(fData) { 
///定义正则进行匹配 
var reg = new RegExp("^[0-9]$"); 
return (reg.test(fData)); 
} 
</script>

首先判断一下浏览器,进行处理兼容性。然后通过String.formCharCode(KeyChar)来查找相应的字符
最后在函数regIsDigit函数中
定义正则进行匹配
var reg = new RegExp("^[0-9]$");

因为是数值0-9所以也等同于\d即
var reg = new RegExp("\\d$");

正则表达式直接量也被定义为包含在一对斜杠(/)之间的字符.所以,JavaScript可能会包含如下的代码:
var reg=/\d$/;

这里还用到了test函数: 检查指定的字符串是否存在。常用的还有exec match search replace split等函数。
如果搞懂了第一个那么只需要套用正则就可以使用了哦。
2.文本框只允许输入中文
function RegValidateIsChinese(str) { 
//var reg = new RegExp("^[\u4e00-\u9fa5]+$"); 
var reg = /^[\u4E00-\u9FA5]+$/; 
var str=document.getElementById("text").value; 
return (reg.test(str)); 
}

RegValidateIsChinese("输入的字符串") 是汉字则返回true,不全是汉字则返回false
3.邮箱输入格式的判断
function RegValidateIsEmail(str) { 
//var reg = /^([a-zA-Z0-9_-])+@@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/; 
var reg=/^\w+((-\w+)|(\.\w+))*@@{1}\w+\.{1}\w{2,4}(\.{0,1}\w{2}){0,1}/ig; 
if (reg.test(str)) { 
alert("是邮箱"); 
} 
else { 
alert("格式不对"); 
} 
}

两个定义初步测试都可以。
Javascript 相关文章推荐
JQuery 1.6发布 性能提升,同时包含大量破坏性变更
May 10 Javascript
javascript复制粘贴与clipboardData的使用
Oct 16 Javascript
JS动态日期时间的获取方法
Sep 28 Javascript
setTimeout学习小结
Feb 08 Javascript
Node.js自定义实现文件路由功能
Sep 22 Javascript
js中如何完美的解析数据
Mar 18 Javascript
使用vue-cli(vue脚手架)快速搭建项目的方法
May 21 Javascript
vue中关闭eslint的方法分析
Aug 04 Javascript
vue2.0结合Element-ui实战案例
Mar 06 Javascript
JavaScript 截取字符串代码实例
Sep 05 Javascript
layer弹出层自定义提交取消按钮的例子
Sep 10 Javascript
基于element-ui封装可搜索的懒加载tree组件的实现
May 22 Javascript
JS注册/移除事件处理程序(ExtJS应用程序设计实战)
May 07 #Javascript
使用Math.floor与Math.random取随机整数的方法详解
May 07 #Javascript
基于JavaScript 类的使用详解
May 07 #Javascript
解读JavaScript中 For, While与递归的用法
May 07 #Javascript
JS Pro-深入面向对象的程序设计之继承的详解
May 07 #Javascript
基于JavaScript实现继承机制之原型链(prototype chaining)的详解
May 07 #Javascript
基于JavaScript实现继承机制之构造函数+原型链混合方式的使用详解
May 07 #Javascript
You might like
php 按指定元素值去除数组元素的实现方法
2011/11/04 PHP
PHP获取用户的浏览器与操作系统信息的代码
2012/09/04 PHP
深入理解:单一入口、MVC、ORM、CURD、ActiveRecord概念
2013/06/06 PHP
PHP命名空间(namespace)的使用基础及示例
2014/08/18 PHP
PHP中使用匿名函数操作数据库的例子
2014/11/17 PHP
PHP图像处理之imagecreate、imagedestroy函数介绍
2014/11/19 PHP
PHP封装XML和JSON格式数据接口操作示例
2019/03/06 PHP
PHP中Static(静态)关键字功能与用法实例分析
2019/04/05 PHP
jQuery的实现原理的模拟代码 -1 核心部分
2010/08/01 Javascript
JavaScript中各种编码解码函数的区别和注意事项
2010/08/19 Javascript
Javacript实现颜色梯度变化和渐变的效果代码
2013/05/31 Javascript
兼容FF和IE的动态table示例自写
2013/10/21 Javascript
Jquery实现仿腾讯微博发表广播
2014/11/17 Javascript
window.open()实现post传递参数
2015/03/12 Javascript
jQuery中map函数的两种方式
2017/04/07 jQuery
layui之数据表格--与后台交互获取数据的方法
2019/09/29 Javascript
详解Vue之事件处理
2020/07/10 Javascript
javascript实现多边形碰撞检测
2020/10/24 Javascript
python和C语言混合编程实例
2014/06/04 Python
在类Unix系统上开始Python3编程入门
2015/08/20 Python
python实现数据写入excel表格
2018/03/25 Python
使用python批量化音乐文件格式转换的实例
2019/01/09 Python
django的settings中设置中文支持的实现
2019/04/28 Python
django框架实现模板中获取request 的各种信息示例
2019/07/01 Python
PyCharm 专业版安装图文教程
2020/02/20 Python
Python实现的北京积分落户数据分析示例
2020/03/27 Python
Python更换pip源方法过程解析
2020/05/19 Python
django template实现定义临时变量,自定义赋值、自增实例
2020/07/12 Python
selenium与xpath之获取指定位置的元素的实现
2021/01/26 Python
详解快速开发基于 HTML5 网络拓扑图应用
2018/01/08 HTML / CSS
销售类个人求职信范文
2013/09/25 职场文书
红领巾广播站广播稿
2014/02/01 职场文书
任命书模板
2014/06/04 职场文书
交通事故协议书范本
2016/03/19 职场文书
深入浅析React中diff算法
2021/05/19 Javascript
死磕 java同步系列之synchronized解析
2021/06/28 Java/Android