regExpression.test
var regExpression = /^([a-zA-Z0-9_\-\.]+)$/; //line 2
//// var regExpression = "/" + "^([a-zA-Z0-9_\-\.]+)$" + "/"; //line 3
alert (regExpression.test("11aa"));
The above code is working fine.
But if we replace line 2 by line 3 then i开发者_JS百科t is not working why? i am in a situation like I want to create the var only by appending(the expression come dynamically) so what should i do?Line 3 sets regExpression
to a string. Strings does not have a test
method. You need to turn the string into a RegExp.
var regExpression = new RegExp("^([a-zA-Z0-9_\\-\\.]+)$");
Omit the slashes, as they are not part of the regexp itself.
If you like to create a RegExp dynamically, use new RegExp(). This allows you to build the expression with string-functions
精彩评论