我验证了一些输入字段。这是一个简单例子的正则表达式:
^\[0-9]\{6,6}\$
在示例中,它需要输入6个数字。但是,我想稍微放松一下验证并在必要时允许空格,并在以后删除它们 - 例如可能是银行排序代码。
在英国,排序代码可以写成123456,或者可能是12 34 56。
我知道我可以修改表达式以在括号内包含空格并放宽大括号中的数字,但我想要做的是继续限制数字以便必须始终输入6,并允许没有或多个空格 - 当然空间可以在任何地方。
我不确定如何处理这个问题 - 任何想法,帮助赞赏。
答案 0 :(得分:3)
试试这个:
^(\d\s*){6}$
每个数字后允许有0个或更多的空白字符。
如果要将空格限制在数字内(不带前导或尾随空格):
^(\d\s*){5}\d$
答案 1 :(得分:1)
我想你想看一个先行表达
This site更详细地解释了它们
对于您的示例,^(?=(\s*[0-9]\s*){6})(\d*\s*)$
这会查找任意数量的空格,然后是数字,后跟任意数量的空格6次。
我到目前为止看到的其他答案只允许总共6个字符,这个表达式将允许任意数量的空格,但只有6位数,不多也不少。
注意:^(\s*[0-9]\s*){6}$
这也可以,没有超前表达式