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 相关文章推荐
dojo 之基础篇(三)之向服务器发送数据
Mar 24 Javascript
js 代码集(学习js的朋友可以看下)
Jul 22 Javascript
IE6 fixed的完美解决方案
Mar 31 Javascript
jQuery UI Autocomplete 体验分享
Feb 14 Javascript
使用jQuery和Bootstrap实现多层、自适应模态窗口
Dec 22 Javascript
jQuery中size()方法用法实例
Dec 27 Javascript
jQuery实时显示鼠标指针位置和键盘ASCII码
Mar 28 Javascript
ES6扩展运算符用法实例分析
Oct 31 Javascript
vue移动端路由切换实例分析
May 14 Javascript
详解使用webpack+electron+reactJs开发windows桌面应用
Feb 01 Javascript
react+redux仿微信聊天界面
Jun 21 Javascript
JavaScript 实现同时选取多个时间段的方法
Oct 17 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中利用post传递字符串重定向的实现代码
2011/04/21 PHP
Php图像处理类代码分享
2012/01/19 PHP
PHP中PDO的事务处理分析
2016/04/07 PHP
PHP 绘制网站登录首页图片验证码
2016/04/12 PHP
php使用高斯算法实现图片的模糊处理功能示例
2016/11/11 PHP
PHP编程计算日期间隔天数的方法
2017/04/26 PHP
Jquery实现页面加载时弹出对话框代码
2013/04/19 Javascript
解决js函数闭包内存泄露问题的办法
2016/01/25 Javascript
谈谈PHP中相对路径的问题与绝对路径的使用
2016/08/16 Javascript
微信小程序 火车票查询实例讲解
2016/10/17 Javascript
JS常用加密编码与算法实例总结
2016/12/22 Javascript
Angular JS 生成动态二维码的方法
2017/02/23 Javascript
JavaScript中闭包的详解
2017/04/01 Javascript
JavaScript创建对象方式总结【工厂模式、构造函数模式、原型模式等】
2018/12/19 Javascript
JavaScript实现模态对话框实例
2020/01/13 Javascript
使用 Jest 和 Supertest 进行接口端点测试实例详解
2020/04/25 Javascript
JavaScript实现拖动对话框效果的实现代码
2020/10/12 Javascript
[03:24]2014DOTA2国际邀请赛 神秘商店生意火爆
2014/07/18 DOTA
[45:15]Optic vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
python3 发送任意文件邮件的实例
2018/01/23 Python
python购物车程序简单代码
2018/04/18 Python
python学生信息管理系统(初级版)
2018/10/17 Python
python爬取微信公众号文章的方法
2019/02/26 Python
python代码如何实现余弦相似性计算
2020/02/09 Python
Python写捕鱼达人的游戏实现
2020/03/31 Python
Python使用Paramiko控制liunx第三方库
2020/05/20 Python
PyCharm中如何直接使用Anaconda已安装的库
2020/05/28 Python
Python获取浏览器窗口句柄过程解析
2020/07/25 Python
Marc O’Polo俄罗斯官方在线商店:德国高端时尚品牌
2019/12/26 全球购物
打架检讨书800字
2014/01/10 职场文书
幼儿园六一亲子活动方案
2014/08/26 职场文书
竞选纪律委员演讲稿
2014/09/13 职场文书
个人四风对照检查材料
2014/09/26 职场文书
党员个人批评与自我批评
2014/10/14 职场文书
2014年护理工作总结范文
2014/11/14 职场文书
MySQL安装后默认自带数据库的作用详解
2021/04/27 MySQL