<input
onblur="if(this.value.replace(/^
+|
+$/g,'')=='')alert('不能为空!')">
只能输入英文和数字
<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,'')">
判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母
/^([a-zA-z_]{1})([\w]*)$/g.test(str)
只能输入数字
<input
name="text"
type="text"
id="NewPage"
onKeyUp="value=value.replace(/\D/g,'')"
onafterpaste="value=value.replace(/\D/g,'')"
>
只能输入中文
<input
type="text"
onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')">
只能输入英文
<input
type="text"
onkeyup="value=value.replace(/[^\a-\z\A-\Z]/g,'')">
<input
type="text"
onkeyup="value=value.replace(/[^a-zA-Z]/g,'')">
只能输入中文、英文、数字、@符号和.符号
<input
type="text"
onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\@\.]/g,'')">
只允许输入英文,且不能粘贴也无法弹出粘贴菜单
<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"
你好!你问的这个问题太大了,好比我问你说如何使用缝纫机。
简单的说,验证数据的目的就是看数据是否符合一定的规范,而正则表达式可以恰当的把这种规范表达出来,而配合使用JS里面的String和RegExp对象的方法如text(),match(),replace()等就可以使用这种规范去检验数据了。
<script>var r = /^[\u0020-\u007e]{1,32}$/g
var t = 'asdf234&^*(&,.as'
alert(r.test(t))//true
</script>
PS:\u0020-\u007e 表示 ASII码中 第32 到 126的 字符,包含了所有的字母,数字,英文符号
参照 ASII 码对照表