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 Mobile入门—外部链接切换示例代码
Jan 08 Javascript
jquery打开直接跳到网页最下面、最低端实现代码
Apr 22 Javascript
浅谈jQuery事件绑定原理
Jan 02 Javascript
自己封装的常用javascript函数分享
Jan 07 Javascript
Jquery中offset()和position()的区别分析
Feb 05 Javascript
kindeditor修复会替换script内容的问题
Apr 03 Javascript
JS实现横向与竖向两个选项卡Tab联动的方法
Sep 27 Javascript
JQuery zClip插件实现复制页面内容到剪贴板
Nov 02 Javascript
AngularJS ng-bind-html 指令详解及实例代码
Jul 30 Javascript
Javascript之面向对象--方法
Dec 02 Javascript
JS实现根据详细地址获取经纬度功能示例
Apr 16 Javascript
深入了解JavaScript词法作用域
Jul 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
使用 MySQL 开始 PHP 会话
2006/12/21 PHP
PHP 多维数组排序(usort,uasort)
2010/06/30 PHP
php cli 小技巧
2013/06/03 PHP
php ckeditor上传图片文件名乱码解决方法
2013/11/15 PHP
PHP性能分析工具xhprof的安装使用与注意事项
2017/12/19 PHP
PHP大文件分割分片上传实现代码
2020/12/09 PHP
jQuery News Ticker 基于jQuery的即时新闻行情展示插件
2011/11/05 Javascript
当json键为数字时的取值方法解析
2013/11/15 Javascript
JavaScript改变CSS样式的方法汇总
2015/05/07 Javascript
浅析node连接数据库(express+mysql)
2015/11/30 Javascript
AngularJs Javascript MVC 框架
2016/06/20 Javascript
详谈javascript精度问题与调整
2017/07/08 Javascript
Vue.js实现输入框绑定的实例代码
2017/08/24 Javascript
JavaScript+H5实现微信摇一摇功能
2018/05/23 Javascript
vue slots 组件的组合/分发实例
2018/09/06 Javascript
node中的密码安全(加密)
2018/09/17 Javascript
基于Vue.js与WordPress Rest API构建单页应用详解
2019/09/16 Javascript
详解BootStrap表单验证中重置BootStrap-select验证提示不清除的坑
2019/09/17 Javascript
npm ci命令的基本使用方法
2020/09/20 Javascript
在vue项目中 实现定义全局变量 全局函数操作
2020/10/26 Javascript
[03:15]DOTA2-DPC中国联赛1月22日Recap集锦
2021/03/11 DOTA
python基础之入门必看操作
2017/07/26 Python
Python 基础教程之str和repr的详解
2017/08/20 Python
Python面向对象之继承代码详解
2018/01/29 Python
pandas数据预处理之dataframe的groupby操作方法
2018/04/13 Python
使用GitHub和Python实现持续部署的方法
2019/05/09 Python
Django中信号signals的简单使用方法
2019/07/04 Python
python实现操作文件(文件夹)
2019/10/31 Python
python梯度下降算法的实现
2020/02/24 Python
python3实现名片管理系统(控制台版)
2020/11/29 Python
德国体育用品网上商店:SC24.com
2016/08/01 全球购物
天猫精选:上天猫,就够了
2016/09/21 全球购物
公司庆典欢迎词
2015/01/26 职场文书
2016年“11.11”光棍节活动总结
2016/04/05 职场文书
Angular CLI发布路径的配置项浅析
2021/03/29 Javascript
java中用float时,数字后面加f,这样是为什么你知道吗
2021/09/04 Java/Android