заменить все входные теги на их значение с помощью регулярного выражения - PullRequest
0 голосов
/ 11 ноября 2019

Здесь я использую регулярное выражение для удаления тега ввода html. Но я должен заменить его значением. Мне нужно удалить входной тег без значения. Результат должен быть <td> 15200 </td> в теге td.

function fnTextValue() {
  var tab_text = "<td><input name='MyTextBox' type='text' value='15200' id='MyTextBoxId'></td>";
  console.log(tab_text);
  
  tab_text = tab_text.replace(/<input[^>]*>|<\/input>/gi, "");
  console.log(tab_text);
}
<button id="btnExport" onclick="fnTextValue();">
  Text Value
</button>

1 Ответ

1 голос
/ 11 ноября 2019

Строковая операция быстрее, чем в RegEx, вы можете пойти с идеей @Pete. Если вы действительно пытаетесь решить с помощью регулярных выражений, вы можете сделать следующее:

tab_text = tab_text.replace(/<input[^>]*value\s*=\s*["'](.+?)["']\s*[^>]*>/,"$1");

И решение JS будет

var ele = document.getElementsByTagName("input");
for(var x of ele){ 
    if(x){
    var val = x.value;
    var node = document.createTextNode(val); 
    x.after(node);
    x.remove();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...