Javascript正则表达式单,双,没有引号

时间:2013-08-05 04:20:48

标签: javascript regex

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

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

修改

我不使用jQuery来改变值的原因是因为我试图改变的元素是textarea内的值。

快速举例。

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

我想更改值的值。

3 个答案:

答案 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引号。 它并不完美,它不会捕捉字符串中的引号