Either format your expression properly:
function doit(expression) {
var regex = new RegExp(expression, 'g');
alert(regex.test('[email protected]'));
}
doit("^\w+([-+.\']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*");
// no / here, escape
or pass the expression directly:
function doit(expression) {
alert(expression.test('[email protected]'));
}
doit(/^w+([-+.']w+)*@w+([-.]w+)*.w+([-.]w+)*/g);
?
The slashes (/
) are not part of the expression, they denote a regex literal. If you use a string containing the expression, you have to omit them and escape every backslash since the backslash is the escape character in strings as well.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…