我有一些html属性,我想根据按下的不同按钮进行更改。例如,width
属性将更改。我正在寻找一个使用Javascript的正则表达式,它可以替换单个,双重和无引号的属性值。
width='200'
,width="200"
,width=200
修改
我不使用jQuery来改变值的原因是因为我试图改变的元素是textarea
内的值。
快速举例。
<textarea>
<iframe width='200' height='200' />
</textarea>
我想更改值的值。
答案 0 :(得分: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
答案 1 :(得分:0)
"width='200', width=\"200\", width=200".replace(/(width=)(?:".*?"|'.*?'|\S*)/g, '$1"555"')
// => width="555", width="555", width="555"
但是,这不是regexp的工作。
答案 2 :(得分:0)
试试这个
[A-Za-z0-9-+]+=['"]{0,1}[^ ^"^']+['"]{0,1}
匹配后跟等于的字符串,然后匹配0或1引号,后跟一个字符串,后跟0或1引号。 它并不完美,它不会捕捉字符串中的引号