js正则表达式的写法

来源:互联网 发布:谷歌访问助手 mac 编辑:程序博客网 时间:2024/05/16 12:30
对用户输入的字段进行校验,输入的字符只能有0-9 a-z  A-Z  ( ) - _ 和中文字符,用正则表达式怎么写呢?请各位大侠帮助!                     

问题补充:
enet_java 写道
var patrn=/^[A-Za-z0-9\(\)_-]+$/;
if(patrn.test(val))
return true;
else
return false;

你好 中文字符的校验是哪一部分呢?         

问题补充:是这样子的:我在validation.js中增加一个js函数,如下:
Validation.prototype.isValidateChar = function(String,prInfo){
   if(String == '' || String == null){
return false;
     }
   var patrn = /^[\u4E00-\u9FA50-9A-Za-z()\-_]+$/;
   if(!patrn.test(allString)){
     this.errors[this.errors.length] = promptInfo;
     }
}

在jsp页面增加如下代码(validation.js包已引入):
var objValidation = new Validation();
objValidation.isValidateChar(document.forms[0].calName,'请填写正确的名称.');

结果是:无论我在页面输入什么字符,各位的正则表达式我都试过了,都会弹出“请填写正确的名称”对话框,不知问题出在何处?         

问题补充:function(String,prInfo)中的prInfo与方法体中的变量promptInfo是一致的,我写错了,应该是:this.errors[this.errors.length] = prInfo;   
 
 
例如:

    var patrn1 = /^[1-9]$/;
    var patrn2 = /^[.][1-9]$/;
    var patrn3 = /^[1-9][0-9]$/;
    var patrn4 = /^[1-9][.][0-9]$/;
    var patrn5 = /^[0][.][1-9]$/;
    var patrn6 = /^[1-9][0-9][.][0-9]$/;
    var patrn7 = /^[.]$/;
    var patrn8 = /^[0-9][.]$/;
    var patrn9 = /^[1-9][0-9][.]$/;

    //var res = patrn.exec(element.value);
    var res1 = element.value.match(patrn1);