2016-03-16 189 views
0

让我说清楚。我必须验证2个电话号码。他们是我的要求。不特定于任何国家。它可以留空。意思是,它不是强制性的。但它不应该是正则表达式允许空格和完整的空格

  1. 填充白色空间 - 我应该抛出错误
  2. 不应包含在我使用的格式,如:12

    之间123

空间^ [ - +() 0-9] {1,20} $。情况1与这个正则表达式失败。我该如何解决它?

+2

你可以使用.trim()方法 –

+1

一些有效匹配的例子会很好。 –

+3

你的正则表达式允许至少有一个字符和最多20个字符的集合'-','+','(','''','0',...,'9')。你究竟在哪里看到任何空格字符的限制? – Seelenvirtuose

回答

0

您可以使用PHONE_NUM.replaceAll("[^0-9]","")来消除所有的非数字。

然后,如果结果的.length()超过20,则数字太多。如果它是0(意思是空的),那么你没有被给一个电话号码。

如果你能正确处理空白,它会减少用户的挫折。

相关问题