2017-04-07 88 views
-3

我有一個任務,用戶應該能夠編輯地址字段的第一行,但他們應該只能使用一個逗號,但可以將該逗號放在任何地方字符串。正則表達式允許數字和數字,但只有一個逗號

我想知道是否有這種方式可以在JavaScript中完成?

到目前爲止,我曾嘗試:

^[a-zA-Z0-9\&\-\,\.\/\'_ ]+$ 

但這正則表達式讓我進入多個逗號。

所以我想正則表達式,以使用戶能夠做到這一點:

21,塔什廣場N13 2IJ

或本: ,塔什廣場21 N13 2IJ

但不是這樣的:

21,塔什廣場,N13,2IJ

任何幫助,將不勝感激

+3

是的,可能。你有沒有嘗試過自己的東西? –

+0

你試過了嗎? –

+0

是的,有... – revo

回答

1

您可以使用

​​

regex demo

這裏,

  • ^ - 串的開始相匹配,
  • [-a-zA-Z0-9&.\/'_ ]* - 比賽0+字母,數字或符號-./'_,然後
  • (?:,[-a-zA-Z0-9&.\/'_ ]*)? - 任選的序列(1或0次)作者:
    • , - 一個逗號(因此,只允許一個)
    • [-a-zA-Z0-9&.\/'_ ]* - 比賽0+字母,數字或符號-./'_,然後
  • $ - 字符串的結尾。

另一種方式是一個(?!(?:[^,]*,){2})負向前查找添加到您的正則表達式:

/^(?!(?:[^,]*,){2})[-a-zA-Z0-9&.\/',_ ]+$/ 
    ^^^^^^^^^^^^^^^^^ 

another regex demo

如果有0+的比其他字符2個序列(?!(?:[^,]*,){2})先行將失敗的比賽,,然後在字符串中輸入,

+1

這工作。謝謝 – Cory

相關問題