你如何在userInput的中间得到一些价值

时间:2016-04-30 00:16:55

标签: javascript

例如,我只想获得最后的ID我该怎么做?



<html>
<head>
<script>
function ()
}
var userInput = document.getElementById("1").value;
window.alert("Your id is " + userInput
{
</script>
</head>
<body>
<input id="1" type="text" value="my id is 1743876">
</body>
<html>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:1)

document.getElementById("1").value.split(' ').pop();应该这样做。

split(' ')使用您传递的分隔符将字符串分解为字符串数组(在本例中为空格:' ')。

pop()返回数组的最后一个元素。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/pop

正如Gary所说,对于更复杂的需求,你应该使用像match()这样的正则表达式函数。

var matches = document.getElementById("1").value.match(/(\d+)/);
matches[0]; // contains the match

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match

答案 1 :(得分:0)

要从字符串值中提取id,您应该使用正则表达式。

如果你知道ID中确切的数字/数字,你可以使用像这样的正则表达式/\b\d{11}\b/g

var userInput = document.getElementById("1").value.match(/\b\d{11}\b/g);

如果你知道ID会在9到11位之间变化,你可以使用像这样的正则表达式/\b\d{9,11}\b/g

var userInput = document.getElementById("1").value.match(/\b\d{9,11}\b/g);

因此ID在字符串中的位置无关紧要,您将始终获得它。