【发布时间】:2013-03-19 02:57:25
【问题描述】:
我需要以编程方式将正则表达式对象分配给输入元素模式属性。 以下是我目前的实现:
var regex = /\d{5}/;
element.attr("pattern", regex.toString().slice(1,-1);
有没有更好的方法可以在不进行字符串操作的情况下做到这一点?
【问题讨论】:
-
您是否将
regex对象用于其他用途?如果不是,您显然可以直接使用element.attr("pattern","\\d{5}")分配字符串。 -
RegExp实例有一个sourceproperty 包含它们的文本,所以/\d{5}/.source === "\\d{5}"。 -
@nnnnnn — 不需要引用反斜杠,
\d{5}应该这样做(在 Firefox 中也是如此)。 -
如果你使用的是html5为什么不使用数据api
-
@RobG - 在字符串文字中(如我之前的评论),您需要转义反斜杠,包括在 FF 中。在正则表达式文字中,您不会转义反斜杠。 (我知道你知道这个……)
标签: javascript regex html