在输入字段中,我的值是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
。我在这里做什么错了?
答案 0 :(得分:4)
在正则表达式中使用括号以捕获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 :(得分:1)
您可以尝试以下正则表达式:(?<=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" />