我正在尝试使用正则表达式来验证9到13个数字之间的数字,但序列可以有短划线和空格,理想情况是连续不要有多个空格或短划线.
这条规则允许我控制9到13之间的验证
/^[\d]{9,13}$/
现在添加破折号和空格
/^[\d -]{9,13}$/
我想我需要这样的东西,但我需要数数
/^[ -](?:\d){9,13}$/
有小费吗?
解决方法
您似乎不需要前导或尾随空格和短划线.这应该做到这一点.
/^\d([- ]*\d){8,12}$/
正则表达式:
\d digits (0-9) ( group and capture to \1 (between 8 and 12 times) [- ]* any character of: '-',' ' (0 or more times) \d digits (0-9) ){8,12} end of \1
另一种选择:一个数字跟随任意数量的空格或短划线8-12次,然后是一个数字.
/^(\d[- ]*){8,12}\d$/