javascript如何验证不能为空?
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,'')" >本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!