当前位置: 首页 > 图文教程 > 网络编程 > 正则表达式 > javascript 基于正则表达式的文本框验证代码

正则表达式
正则在FireFox和IE下使用test的不同
正确使用带有"g"标记的javascript正则表达式
正则表达式 学习资料整理
javascript 正则表达式用法 小结
正则匹配的test函数
JavaScript 正则表达式 验证整数、小数、实数、有效位小数最简单
检测八位数字是否为有效日期的正则
editplus EmEditor和searchandreplace正则表达式
正则应用之 日期正则表达式
正则表达式 学习参考 推荐入门者看
正则基础之 \b 单词边界
正则基础之 小数点
正则 捕获组(capture group)
Dreamweaver 正则替换(返回调用值)
JavaScript 表单验证正则表达式大全[推荐]
JavaScript 使用正则表达式进行表单验证的示例代码
获取网址路径的正则
去除段首段尾的 和全角的空格的正则
正则表达式匹配任意字符(包括换行符)的写法
EditPlus 正则表达式替换字符串详解

javascript 基于正则表达式的文本框验证代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 334 ::
收藏到网摘: n/a

js验证文本框内容,以前ruanchen.com提供过不少是基于js函数版本的,这里提供一些正则表达式版本,大家学习归学习,最好是基于函数的绑定操作。代码分离技术。

1,不能为空
<input type="text" onblur="if(this.value.replace(/^ +| +$/g,'')=='')alert('不能为空!')">

2,只能输入英文和数字
<input onblur="if(/[^0-9a-zA-Z]/g.test(value))alert('有错')">
<input onkeyup="value=value.replace(/[^0-9a-zA-Z]/g,'')"/>
<input type="text" onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9]/g,'')">

3,判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母
/^([a-zA-z_]{1})([\w]*)$/g.test(str)

4,只能输入数字
<input name="text" type="text" id="NewPage" onKeyUp="value=value.replace(/\D/g,'')" onafterpaste="value=value.replace(/\D/g,'')" >

5,只能输入中文
<input type="text" onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')">

6,只能输入英文
<input type="text" onkeyup="value=value.replace(/[^\a-\z\A-\Z]/g,'')">
<input type="text" onkeyup="value=value.replace(/[^a-zA-Z]/g,'')">

7,只能输入中文、英文、数字、@符号和.符号
<input type="text" onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\@\.]/g,'')">

8,只允许输入英文,且不能粘贴也无法弹出粘贴菜单
<input type="text" onkeyup="value=value.replace(/[^\a-\z\A-\Z]/g,'')" onkeydown="fncKeyStop(event)" onpaste="return false" oncontextmenu = "return false"/>

只能输入数字和点号(注意:在[^\d\.]里的d不能写成大写D,否则就变成除了数字以外的所有字符)
<input name="price" type="text" size="8" maxlength="8" onkeyup="value=value.replace(/[^\d\.]/g,'')" >

总而言之:先在<input>里输入onkeyup="value=value.replace(/[^\X]/g,'')" 然后在(/[\X]/g,'')里的X换成你想输入的代码就可以了
中文:u4E00-u9FA5
数字:d、0-9
英文:a-z、A-Z
其它符号@,点或其它符号.也可以多个,用\隔开就行了.
例如:
中、英文和数字加@符号加点符号:\a-\z\A-\Z0-9\u4E00-\u9FA5\@\.

若想在文本框里不能右键弹出菜单和不能粘贴进复制的信息的话就要在<input>里输入 onKeyDown="fncKeyStop(event)" onpaste="return false" oncontextmenu="return false;"