2013-08-05 280 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報價相匹配。 其並不完美,它不會捕獲字符串內的引號