JavaScript 中可以使用 replace(/^ +| +$/g,'')==''方法验证是否为空, replace(/^ +| +$/g,'')可以将文本框开始与结尾的空格去除, 然后使用 == 号判断是否为空.
使用正则方法验证不能为空:
<input οnblur="if(this.value.replace(/^ +| +$/g,'')=='')alert('不能为空!')">
正则表达式: replace(/^ +| +$/g,''):
整体为如果以一个或多个空格开始, 替换全部空格为空, 或者, 如果以一个或多个空格结束, 替换全部空格为空.
符号含义:
\s: space, 空格
+: 一个或多个
^: 开始,^\s, 以空格开始
$: 结束,\s$, 以空格结束
|: 或者
/g:global, 全局
replace() 替换
限制输入的正则:
只能输入英文和数字
- <input οnblur="if(/[^0-9a-zA-Z]/g.test(value))alert('有错')">
- <input οnkeyup="value=value.replace(/[^0-9a-zA-Z]/g,'')" />
- <input type="text" οnkeyup="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" οnkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')">
只能输入英文
- <input type="text" οnkeyup="value=value.replace(/[^\a-\z\A-\Z]/g,'')">
- <input type="text" οnkeyup="value=value.replace(/[^a-zA-Z]/g,'')">
只能输入中文, 英文, 数字,@符号和. 符号
<input type="text" οnkeyup="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\@\.]/g,'')">
只允许输入英文, 且不能粘贴也无法弹出粘贴菜单
<input type="text" οnkeyup="value=value.replace(/[^\a-\z\A-\Z]/g,'')"οnkeydοwn="fncKeyStop(event)"οnpaste="return false"oncontextmenu ="return false"/>
只能输入数字和点号 (注意: 在[^\d\.] 里的 d 不能写成大写 D, 否则就变成除了数字以外的所有字符)
<input name="price" type="text" size="8" maxlength="8" οnkeyup="value=value.replace(/[^\d\.]/g,'')">
来源: http://www.css88.com/qa/css3/11767.html