2013-08-05 228 views
0

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

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

编辑

不使用jQuery例如更改数值的原因IM,是因为该元素IM试图改变,是textarea内的值。

快速示例。

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

我想更改值的值。

+1

为什么要为此使用RegEx? – federicot

+0

你为什么不使用jQuery,而不是重新发明魔法? –

+0

我会用答案更新我的问题。 – cnotethegr8

回答

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 
0
"width='200', width=\"200\", width=200".replace(/(width=)(?:".*?"|'.*?'|\S*)/g, '$1"555"') 
// => width="555", width="555", width="555" 

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

0

尝试此

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

此字符串随后等于,然后0或1引号后跟一个字符串,接着0或1报价相匹配。 其并不完美,它不会捕获字符串内的引号