嗨,我编写了一个正则表达式来验证带有以下条件的US:
我目前正在使用这个正则表达式来表示这些标准。
^(?!(\d)\1{8})(?!123456789)(?!987654321)(?!0{3})(?!6{3})(?!\d{3}0{2}\d{4})(?!\d{3}\d{2}0{4})\d{9}$|\d{3}-\d{2}-\d{4}$除最后一个样本外,它还会拒绝下列样品。
555555555
555005555
222540000
123456789
987654321
000917642
666082134
231564365但是,当我试图创建一个相同的正则表达式来解释(-)破折号时。
^(?!(\d)\1{2}-(\d)\1{1}-(\d)\1{3})(?!123-45-6789)(?!987-65-4321)(?!0{3}-(\d)\1{1}-(\d)\1{2})(?!0{6}-(\d)\1{1}-(\d)\1{2})(?!\d{3}-0{2}-\d{4})(?!\d{3}-\d{2}-0{4})\d{9}$|\d{3}-\d{2}-\d{4}$他们中没有一个人是无效的。
发布于 2014-05-22 09:40:27
如果你用这样的方式表达正则表达式:
^(?!(\d)\1{2}-?(\d)\1{1}-?(\d)\1{3})(?!123-?45-?6789)(?!987-?65-?4321)(?!0{3}-?(\d)\1{1}-?(\d)\1{2})(?!0{6}-?(\d)\1{1}-?(\d)\1{2})(?!\d{3}-?0{2}-?\d{4})(?!\d{3}-?\d{2}-?0{4})\d{3}-?\d{2}-?\d{4}$您可以摆脱最后的OR,并将工作的虚线或非虚线输入。
这里的示例:http://regex101.com/r/jK9eC5
https://stackoverflow.com/questions/23802160
复制相似问题