问题描述
对用户输入的字段进行校验,输入的字符只能有0-9 a-z A-Z ( ) - _ 和中文字符,用正则表达式怎么写呢?请各位大侠帮助! 问题补充:enet_java 写道
解决方案
你使用的表达式没问题,可能是allString 有问题。可能不是文本值。你检查下。Validation.prototype.isValidateChar = function(String,prInfo){ if(String == '' || String == null){ return false; } var patrn = /^[u4E00-u9FA50-9A-Za-z()-_]+$/; alert(allString); //打印看是否是文本值 if(!patrn.test(allString)){ this.errors[this.errors.length] = promptInfo; } }
解决方案二:
/[u4e00-u9fa5w)(-]/w直接包含a-zA-Z0-9_
解决方案三:
工程的缓存都清了吗? 修改JS要重启浏览器。再alert();进行看看到底怎么回事。
解决方案四:
引用引用引用var patrn=/^[A-Za-z0-9()_-u4e00-u9fa5]+$/;if(patrn.test(val))return true;elsereturn false;使用上面的那个看看好象 - 这个应该写成 - 。
解决方案五:
引用var patrn=/^[A-Za-z0-9()_-u4e00-u9fa5]+$/; if(patrn.test(val)) return true; else return false;使用上面的那个看看
解决方案六:
中文部分 u4E00-u9FA5
解决方案七:
/^[u4E00-u9FA50-9a-zA-Z()-_]+$/
解决方案八:
var patrn=/^([A-Za-z0-9()_-]+[u4e00-u9fa5]*[A-Za-z0-9()_-]+)|([u4e00-u9fa5]+[A-Za-z0-9()_-]*)$/;if(patrn.test(value))return true;elsereturn false;
解决方案:
var patrn=/^[A-Za-z0-9()_-]+$/;if(patrn.test(val))return true;elsereturn false;