我需要您的帮助。我必须形成一个仅接受8个数字(不包含字母)且不超过3个破折号的正则表达式。
它应该接受以下示例:
12345678 1234 5678 1234-5678 123-45-678 12-345-678
它不应接受以下示例:
1234 (less than 8 digits) 123456789 (more than 8 digits) -12345678- !@@#$% 12ABCBDEF (with letters) 12-34-56-78 (more than 3 dashes)
任何帮助表示赞赏。
^(?=(?:\D*\d){8}$)\d+(?:(?:-\d+){0,2}|(?:\s+\d+){0,1})$
您可以尝试一下。请参阅演示。
https://regex101.com/r/hE4jH0/20