0

我有一些 html 属性,我想根据按下的不同按钮进行更改。例如,width属性会改变。我正在寻找一个带有 Javascript 的正则表达式,它可以将属性中的值替换为单引号、双引号和无引号。

width='200', width="200",width=200

编辑

例如,我不使用 jQuery 来更改值的原因是因为我试图更改的元素是 a 内部的值textarea

快速示例。

<textarea>
    <iframe width='200' height='200' />
</textarea>

我想改变一个值的值。

4

3 回答 3

1
var regex = /(width=)(['"])?(\d+)(\2)/;
console.log('width="200"'.replace(regex, '$1$2555$4')); // width="555"
console.log("width='200'".replace(regex, '$1$2555$4')); // width='555'
console.log('width=200'.replace(regex, '$1$2555$4')); // width=555
于 2013-08-05T04:30:18.663 回答
0
"width='200', width=\"200\", width=200".replace(/(width=)(?:".*?"|'.*?'|\S*)/g, '$1"555"')
// => width="555", width="555", width="555"

但是,是的,这不是正则表达式的工作。

于 2013-08-05T04:26:20.043 回答
0

尝试这个

[A-Za-z0-9-+]+=['"]{0,1}[^ ^"^']+['"]{0,1}

这匹配一个后跟等于的字符串,然后是 0 或 1 个引号,后跟一个字符串,后跟 0 或 1 个引号。它并不完美,它不会在字符串中捕获引号

于 2013-08-05T04:28:24.190 回答