2016-03-16 225 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(意思是空的),那麼你沒有被給一個電話號碼。

如果你能正確處理空白,它會減少用戶的挫折。

相關問題