如何使用正则表达式测试字符串是否仅包含数字和空格?
例如:
- 021 123 4567 是有效的
- 0211234567 是有效的
- 0211 234 567 是有效的
要求比较宽松,但需要满足我的要求。
有什么建议吗?
如果需要以数字开头和结尾,那么/^\d[\d ]*\d$/
是可行的。而/^[\d ]+$/
呢?
/
吗?那些只是正则表达式的定界符。尝试使用字符串 ^\d[\d ]*\d$
,你会发现它可以很好地匹配 012 323 2313
。 - CanSpice[0-9]
<-- 表示0到9之间的任意一位数字[0-9 ]
<-- 表示0到9之间的任意一位数字或空格[0-9 ]{1,}
<-- 表示0到9之间的任意一位数字或空格,出现1次或更多次[0-9 ]{1,9}
<-- 表示0到9之间的任意一位数字或空格,出现1次到9次类似于:
\d*|\s+^[A-Za-z]
\d*
匹配“零个或多个数字”,而每个字符串都包含零个或多个数字。 - CanSpice