我需要用引号包装正则表达式,以便我可以添加另一个JavaScript变量,但是这会阻止它正常工作。包裹在单引号中的正则表达式不工作
这里的工作示例...
var re = new RegExp(/^(0?[1-9]|[12][0-9]|3[01])[\/\-](0?[1-9]|1[012])[\/\-]\d{4}$/);
而我最终想实现看起来是这样的(但修改,使其工作):
var re = new RegExp('^'+element.defaultValue+'|(0?[1-9]|[12][0-9]|3[01])[\/\-](0?[1-9]|1[012])[\/\-]\d{4}$');
这样一个日期格式化的DD/MM/YYYY或输入栏的默认值。
你的代码的第一部分是不完全正确的BTW。您应该将一个字符串传递给'RegExp',而不是正则表达式。你的代码等同于'var re = /^...$/'。 – 2012-08-15 11:17:00