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获取元素文档大小、偏移和位置和滚动条位置的方法集合
Jan 12 Javascript
深入理解JavaScript系列(4) 立即调用的函数表达式
Jan 15 Javascript
javascript:void(0)是什么意思示例介绍
Nov 17 Javascript
js中switch case循环实例代码
Dec 30 Javascript
js特殊字符过滤的示例代码
Mar 05 Javascript
js QQ客服悬浮效果实现代码
Dec 12 Javascript
JavaScript Array对象详解
Mar 01 Javascript
JS读写CSS样式的方法汇总
Aug 16 Javascript
vue.js获得当前元素的文字信息方法
Mar 09 Javascript
如何使用three.js 制作一个三维的推箱子游戏
Jul 29 Javascript
uniapp实现可滑动选项卡
Oct 21 Javascript
JavaScript 防盗链的原理以及破解方法
Dec 29 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 error_log 函数的使用
2009/04/13 PHP
php5.5新数组函数array_column使用
2013/07/08 PHP
PHP中常见的缓存技术实例分析
2015/09/23 PHP
详解WordPress开发中过滤属性以及Sql语句的函数使用
2015/12/25 PHP
PHP 实现缩略图
2021/03/09 PHP
破解Session cookie的方法
2006/07/28 Javascript
用js判断用户浏览器是否是XP SP2的IE6
2007/03/08 Javascript
几个比较经典常用的jQuery小技巧
2010/03/01 Javascript
JavaScript高级程序设计 读书笔记之八 Function类及闭包
2012/02/27 Javascript
js中数组(Array)的排序(sort)注意事项说明
2014/01/24 Javascript
jQuery判断指定id的对象是否存在的方法
2015/05/22 Javascript
基于JavaScript实现类似于百度学术高级检索功能
2016/03/02 Javascript
全面接触神奇的Bootstrap导航条实战篇
2016/08/01 Javascript
JavaScript实现水平进度条拖拽效果
2017/01/18 Javascript
Angular5中提取公共组件之radio list的实例代码
2018/07/10 Javascript
jQuery实现合并表格单元格中相同行操作示例
2019/01/28 jQuery
Python利用operator模块实现对象的多级排序详解
2017/05/09 Python
Python面向对象程序设计之私有属性及私有方法示例
2019/04/08 Python
python面试题Python2.x和Python3.x的区别
2019/05/28 Python
多版本python的pip 升级后, pip2 pip3 与python版本失配解决方法
2019/09/11 Python
Pycharm 安装 idea VIM插件的图文教程详解
2020/02/21 Python
解决python多线程报错:AttributeError: Can't pickle local object问题
2020/04/08 Python
python变量的作用域是什么
2020/05/26 Python
Html5实现首页动态视频背景的示例代码
2019/09/25 HTML / CSS
机械制造与自动化应届生求职信
2013/11/16 职场文书
传媒专业推荐信范文
2013/11/23 职场文书
拾金不昧的表扬信
2014/01/16 职场文书
环保倡议书格式范文
2014/05/14 职场文书
应届生面试求职信
2014/07/02 职场文书
投标授权委托书范文
2014/08/02 职场文书
2015届大学生就业推荐表自我评价
2014/09/27 职场文书
领导干部查摆“四风”问题自我剖析材料思想汇报
2014/10/05 职场文书
2014年工程师工作总结
2014/11/25 职场文书
2016元旦晚会主持词
2015/07/01 职场文书
《异世界四重奏》剧场版6月10日上映 PV视觉图原创角色发表
2022/03/20 日漫
铁头也玩根德 YachtBoy YB-230......
2022/04/05 无线电