【发布时间】:2011-01-09 18:30:01
【问题描述】:
我正在尝试验证其中没有多余字符的(美国)电话号码。所以格式是 1-555-555-5555,没有破折号、空格等,1 是可选的。但是,我的正则表达式只会排除带有前导 1 的数字,并且说没有它的数字是无效的。这是我使用的东西哪里出错了?
"^(1)\\d{10}$"
【问题讨论】:
-
没有破折号或空格?您是否知道这样做会让用户更加困难(研究表明,人们使用长数字字符串比使用带有分隔符的短字符串更困难)?允许破折号和空格,并在输入时简单地将它们去掉。不要让用户做你的软件完全可以做的事情。您的用户会感谢您的。
-
设计不取决于我,但我同意 :)