Как получить только определенную часть строки, используя регулярное выражение? - PullRequest
0 голосов
/ 13 мая 2019

В поле ввода у меня есть значение A=123, и мне нужен код JavaScript, чтобы получить только часть 123.

Это то, что я пробовал до сих пор:

function formAnswer() {
    var input = document.getElementById('given').value;
    var match = input.match(/A=.*/);
    document.getElementById('result').value = match;
}
<input type="text" id="given" placeholder="Given" value="A=123"/>
<input type="text" id="result" placeholder="Result"/>
<input type="button" value="Click!" onClick="formAnswer();"/>

Но это все равно получает значение A=123. Что я тут не так делаю?

Ответы [ 2 ]

4 голосов
/ 13 мая 2019

Используйте скобки в вашем регулярном выражении, чтобы узнать, что следует за A=.Захваченное значение будет доступно с match[1] (match[0] будет полным выражением).

function formAnswer() {
  let input = document.getElementById('given').value;
    match = input.match(/A=(.*)/);
    
  document.getElementById('result').value = match[1];
}
<input type="text" id="given" placeholder="Given"/>
<input type="text" id="result" placeholder="Result"/>
<input type="button" onClick="formAnswer();"/>
1 голос
/ 13 мая 2019

Вы можете попробовать это регулярное выражение: (?<=A=).*

Он просто ищет строку, которой предшествует "A ="

function formAnswer() {
  var input = document.getElementById('given').value;
  var match = input.match(/(?<=A=).*/);
  document.getElementById('result').value = match;
}
<input type="text" id="given" placeholder="Given" value="A=123" />
<input type="text" id="result" placeholder="Result" />
<input type="button" onClick="formAnswer();" value="Check" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...