如何用正则表达式替换Javascript中的"值"?

soh*_*ham 1 javascript regex

假设我有三种HTML来自其中任何一种:

<input name="myName" id="myID" role="textbox" style="width: 98%;" type="text" value="SDFSF"/>
Run Code Online (Sandbox Code Playgroud)

要么

<input name="myName" id="myID" role="textbox" style="width: 98%;" type="text" value='SDFSF'/>
Run Code Online (Sandbox Code Playgroud)

要么

<input name="myName" id="myID" role="textbox" style="width: 98%;" type="text"/>
Run Code Online (Sandbox Code Playgroud)

我不知道他们中的哪一个会来.我试图像这样编辑它们:

<input name="myName" id="myID" role="textbox" style="width: 98%;" type="text" value=''/>
Run Code Online (Sandbox Code Playgroud)

我正在使用这个东西:

html = html.replace(/value="(?:[^\\"]+|\\.)*"/,"value=''");
Run Code Online (Sandbox Code Playgroud)

这是能够更换value="Something"value=''.如何将其扩展到其他两个?OR在Javascript中有任何选项吗?

编辑

我没有DOM元素.所以,我必须像这样使用它.

Fel*_*ing 5

将HTML解析为DOM元素并对其进行操作.然后你可以将它转换回HTML或任何你想用它做的事情:

var container = document.createElement('div');
container.innerHTML = html;
container.firstChild.setAttribute('value', '');

html = container.innerHTML;
Run Code Online (Sandbox Code Playgroud)

注意:其他人提到要使用element.value = '';.只要您不希望将元素序列化回HTML,这就可以工作.如果你这样做,它仍将具有原始value值.