将Regex对象分配给html输入模式

Rex*_*Pan 3 javascript regex html5

我需要以编程方式将一个正则表达式对象分配给一个输入元素模式属性.以下是我目前的实施情况:

var regex = /\d{5}/;
element.attr("pattern", regex.toString().slice(1,-1);
Run Code Online (Sandbox Code Playgroud)

没有字符串操作有更好的方法吗?

Mik*_*uel 6

RegExp实例有一个包含其文本的source属性:

source属性的值是一个表示当前正则表达式的Pattern形式的String.

因此

/\d{5}/.source === "\\d{5}"
Run Code Online (Sandbox Code Playgroud)

所以你的代码可以改为

var regex = /\d{5}/;
element.setAttribute("pattern", regex.source);
Run Code Online (Sandbox Code Playgroud)