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 相关文章推荐
ASP Json Parser修正版
Dec 06 Javascript
IE6/7/8/9不支持exec的简写方式
May 25 Javascript
JavaScript中的null和undefined区别介绍
Jan 01 Javascript
简述JavaScript的正则表达式中test()方法的使用
Jun 16 Javascript
JavaScript实现节点的删除与序号重建实例
Aug 05 Javascript
javascript设计模式之Adapter模式【适配器模式】实现方法示例
Jan 13 Javascript
jQuery判断网页是否已经滚动到浏览器底部的实现方法
Oct 27 jQuery
vue+iview+less 实现换肤功能
Aug 17 Javascript
详解html-webpack-plugin插件(用法总结)
Sep 12 Javascript
vue elementui el-form rules动态验证的实例代码详解
May 23 Javascript
JavaScript解析JSON数据示例
Jul 16 Javascript
JavaScript实现电灯开关小案例
Mar 30 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开发负载均衡指南
2010/07/17 PHP
php实现利用phpexcel导出数据
2013/08/24 PHP
PHP调用Linux命令权限不足问题解决方法
2015/02/07 PHP
PHP中file_get_contents函数抓取https地址出错的解决方法(两种方法)
2015/09/22 PHP
YII框架中搜索分页jQuery写法详解
2016/12/19 PHP
PHP实现抽奖功能实例代码
2020/06/30 PHP
javascript下给元素添加事件的方法与代码
2007/08/13 Javascript
用户代理字符串userAgent可实现的四个识别
2015/09/20 Javascript
基于JavaScript实现右键菜单和拖拽功能
2016/11/28 Javascript
Vue.js学习示例分享
2017/02/05 Javascript
详解Vue.js 2.0 如何使用axios
2017/04/21 Javascript
React-Router如何进行页面权限管理的方法
2017/12/06 Javascript
微信小程序之swiper轮播图中的图片自适应高度的方法
2018/04/23 Javascript
在微信小程序里使用watch和computed的方法
2018/08/02 Javascript
Vuex 快速入门(简单易懂)
2018/09/20 Javascript
JS判断两个数组或对象是否相同的方法示例
2019/02/28 Javascript
微信小程序实现发送模板消息功能示例【通过openid推送消息给用户】
2019/05/05 Javascript
使用JS实现动态时钟
2020/03/12 Javascript
python实现监控windows服务并自动启动服务示例
2014/04/17 Python
Python安装使用命令行交互模块pexpect的基础教程
2016/05/12 Python
python+selenium 点击单选框-radio的实现方法
2019/09/03 Python
python对一个数向上取整的实例方法
2020/06/18 Python
用Python 执行cmd命令
2020/12/18 Python
CSS3实现千变万化的文字阴影text-shadow效果设计
2016/04/26 HTML / CSS
宝拉珍选澳大利亚官方购物网站:Paula’s Choice澳大利亚
2016/09/13 全球购物
如何找出EMP表里面SALARY第N高的employee
2013/12/05 面试题
C#的几个面试问题
2016/05/22 面试题
可贵的沉默教学反思
2014/02/06 职场文书
竞选班干部的演讲稿
2014/04/24 职场文书
中层干部竞聘演讲稿
2014/05/15 职场文书
环保倡议书300字
2014/05/15 职场文书
2014年移动公司工作总结
2014/12/08 职场文书
Oracle 数据仓库ETL技术之多表插入语句的示例详解
2021/04/12 Oracle
python 如何获取页面所有a标签下href的值
2021/05/06 Python
mongodb清除连接和日志的正确方法分享
2021/09/15 MongoDB
纯 CSS 自定义多行省略的问题(从原理到实现)
2021/11/11 HTML / CSS