编辑:
澄清问题后更新
<script>
var string = "1 2 3 4 8 9 11 15 18 293";
var str = /[0-9]*/g;
var arr = string.match(str);
var length = arr.length;
for (var i = 0; i < length; i++) {
if ( parseInt(arr[i]) <= 9 && parseInt(arr[i]) >= 1){
document.write(arr[i] + " ");
}
}
</script>
新小提琴在这里
您告诉 javascript 要做的只是打印与您的正则表达式匹配的结果数组中的第一个字符。您还没有考虑正则表达式中的“空格”字符
据我了解,这就是您要实现的目标 - 但如果这是不正确的,请说明您要达到的结果。
看看这个小提琴
<script>
var string = "THIS IS AN EXAMPLE";
var str = /[A-Z ]*/;
document.write(string.match(str));
</script>
注意我是如何使用的/[A-Z ]*/
包括匹配集中的空格字符以及表示匹配任意数量的这些字符的星号。如果您试图只匹配第一个单词并停在一个空格处,只需将其删除。
在任一情况下
这是来自 mozilla 开发者网络的一篇很棒的文章,它解释了正则表达式的所有荣耀——特别是关于它与 javascript 的使用
如果您决定要查看“手册”