【发布时间】:2014-11-10 21:19:46
【问题描述】:
我只需要从下拉列表中的选项文本中提取数字(至少 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>
例如,我只想从带有文本“Pilsner 4 EBC”的选定选项中选择“4”。
我完全迷路了吗?
输入非常感谢,干杯
【问题讨论】:
-
尝试 /^\d{3}$/ 作为您的正则表达式。这将为您提供 3 位数。
-
正则表达式的乐趣,这里有一个很好的引用来思考。 “有些人在遇到问题时会想‘我知道,我会使用正则表达式。’现在他们有两个问题。”
标签: javascript regex preg-replace