需要正则表达式。仅匹配数字和空格的固定长度字段

时间:2015-01-07 16:55:34

标签: regex validation

我试图获得一个注册。表达式匹配正好11个数字的模式或0到10个数字填充到11个字符w /空格(\ x20)。

Match: “12345678901”,  “           “, “123        “

Don't Match: “    5678901”, “123   78901”, “123   789  ”

表达式'/((\d)|(\x20)){11}/'匹配所需的字符串,但它仍然匹配具有前导和内部空格的字符串。我已经使用了前导/尾随锚点(^,$)的各种组合,但似乎无法获得正确的结果。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:3)

您可以使用这个基于前瞻性的正则表达式:

^(?=\d* *$)[\d ]{11}$

RegEx Demo

答案 1 :(得分:1)

我建议你在代码中测试这个条件,因为正则表达式会太难看。

\d{11}|\s\d{10}|\s{2}\d{9}|\s{3}\d{8}|\s{4}\d{7}|\s{5}\d{6}|\s{6}\d{5}|\s{7}\d{4}|\s{8}\d{3}|\s{9}\d{2}|\s{10}\d|\s{11}