仅使用javascript提取数字

时间:2014-11-10 21:19:47

标签: javascript regex preg-replace

我需要从下拉列表中的选项文本中提取数字(至少2但不超过3),并在输入字段中显示。我已经阅读了关于regexp(http://www.javascriptkit.com/jsref/regexp.shtml)的内容,并认为我已经弄明白了。但我似乎无法让它发挥作用。

<script>
function copyEbc() {
var a = document.getElementById("malt"); // the <select>
var onlydig = /\d{1,3}/ // regexp
var option = a.options[a.selectedIndex].text(onlydig); // regexp on options
var txt = document.getElementById("ebc").value;
txt = txt + option;
document.getElementById("ebc").value = txt;

}
</script>

例如,我只想要&#34; 4&#34;从选定的选项中选择文本&#34; Pilsner 4 EBC&#34;。

我完全迷失在这里吗?

非常感谢,欢呼声

3 个答案:

答案 0 :(得分:0)

您尝试将text值作为函数调用(您的JS控制台可能已经抱怨过这一点)。

匹配正则表达式。 match[0]将包含匹配的文字:

var option = a.options[a.selectedIndex].text.match(onlydig)[0];

答案 1 :(得分:0)

简单地从字符串中提取数字match

var numberPattern = /\d+/g;
var foo = 'Pilsner 4 EBC';
var numbers = foo.match(numberPattern);
alert(numbers); // alerts the array of numbers

答案 2 :(得分:0)

你需要使用&#34;匹配&#34;正则表达式对象的方法。 AFAIK&#34; text&#34;你正在使用的方法不存在。