2014-03-12 14 views
0

我正在嘗試編寫一個正則表達式來允許電話國家/地區代碼格式爲:+NNNN,其中N是一個數字。我試過這個,但它沒有工作:正則表達式在AngularJS中不起作用

/^\\+|[0-9]+$/ 

什麼是錯?

+1

我認爲它允許超過4個數字。那麼'/^\\ + [0-9] {4} $ /'呢? – DontVoteMeDown

+0

嗯,它的JavaScript很顯然這不會工作,由於不正確的逃逸。 – tenub

回答

1

那該怎麼辦?

/^\+[0-9]{1,4}$/ 
+0

這不符合'+ 9'或'+ 99',這不是OP要求的嗎? –

+0

我有一個額外的問題,我應該允許'+ NNNN',但也'NNNNN'這樣只允許第一個,我該如何解決?我因爲這個原因而變得艱難,因爲我擁有'|'管道 – ReynierPM

+0

要允許'+'是可選的,請添加'?'加號後面的符號:/^\ +?[0-9] {1,4} $/ – ledfusion

1

爲什麼你在你的正則表達式中使用管道。只要刪除它。使用pipe實際上將你的正則表達式分爲兩部分。

/^\\+[0-9]+$/ 
1

正則表達式:/^\+[0-9]{4}$/

匹配:+9999

  1. \+比賽+字面上。
  2. [0-9]{4}匹配4次出現的數字。