我到处看了看,一切似乎都表明 .test() 应该能够测试整个字符串,但我无法让它工作。我尝试了以下方法:
var exp = new RegExp("^([a-z])$");
console.log( exp.test('hello') );
console.log( /^([a-z0-9])$/.test('abc12') );
当它应该为真时,两者都返回假;
这是演示的链接:http: //jsbin.com/ibokem/1/
我到处看了看,一切似乎都表明 .test() 应该能够测试整个字符串,但我无法让它工作。我尝试了以下方法:
var exp = new RegExp("^([a-z])$");
console.log( exp.test('hello') );
console.log( /^([a-z0-9])$/.test('abc12') );
当它应该为真时,两者都返回假;
这是演示的链接:http: //jsbin.com/ibokem/1/
var exp = new RegExp("^([a-z]*)$");
console.log( exp.test('hello') );
console.log( /^([a-z0-9]*)$/.test('abc12') );
或者,如果您想要求至少一个字符,请使用+
而不是*
.
此外,如果您只是使用带有 的模式test
,则可以去掉括号:
var exp = new RegExp("^[a-z]*$");
console.log( exp.test('hello') );
console.log( /^[a-z0-9]*$/.test('abc12') );