日期:2014-05-16  浏览次数:20415 次

关于正则表达式传参的问题,
现在想做个限制字符串长度的正则,限制的长度想从外面调用的时候传,如下
JScript code

String.prototype.checkLen = function(number) {
    var myReg = /^[a-zA-Z0-9_\u0391-\uFFE5]{number}$/;
    return this.match(myReg) ? true : false;
};


用火狐调式,能够得到number的值,但是生成的正则表达式却不会将Number改变成数值,求教,,能不能用参数代替,如果不能,有什么解决办法吗?

------解决方案--------------------
var myReg=new RegExp("^[a-zA-Z0-9_\u0391-\uFFE5]{"+number+"}$");
//要注意转意哦
我好像没注意哈
------解决方案--------------------
JScript code
String.prototype.checkLen = function(number) {
                                var myReg =new RegExp("^[a-zA-Z0-9_\u0391-\uFFE5]{"+number+"}$");
                                return this.match(myReg) ? true : false;
                            };