簡體   English   中英

帶有逗號和空格的驗證號的正則表達式

[英]Regex for validation numbers with commas and space

我不確定為什么這個正則表達式不起作用。 我想驗證輸入是否采用以下格式:

  1. 12345678,12345678,12345678
  2. * space * 12345678,12345678,12345678,12345678
  3. 12345678,12345678, 空間
如果不返回false,則必須是8位數。 下面是我所做的正則表達式,但它適用於2組數字但是當我輸入另一組數字時,驗證不起作用。

  1. 工作:12345678,12345678
  2. 不工作:12345678,12345678,12345678
 var validate_numbers = /^\\s*\\d{8}\\s*\\+*(,\\s*\\d{8},*)?$/; 

謝謝

您需要更詳細地描述您想要匹配的內容。 我將假設您想要匹配由逗號和加號分隔的8位數字,可能后跟逗號。

問題是你最多需要2組數字。 可視化

鑒於上面的假設,這是你想要的正則表達式:

^(\s*\d{8}\s*[+,]?\s*)*$

同樣,您可以在debuggex上將其可視化。

你能詳細介紹一下這個要求嗎? 你需要在逗號之前有空格嗎?

\\d{8}(?:,\\d{8})*+

試試吧。 它可以正常工作,需要驗證一個數字列表,它有8位數字,並用逗號分隔。

希望它會有所幫助

從當前正則表達式中刪除“$”。 它嚴格匹配行的結尾,這會導致表達式在所需的字符串上返回false。 對於您之前提到的先前返回FALSE的字符串,以下代碼返回TRUE。

omgerd我在PHP中自動編寫了第一個響應,這里是快速的JS編輯

var pattern = /^\s*\d{8}\s*\+*(,\s*\d{8},*)?/;
var data2 = '12345678 , 12345678 ,12345678';
if (pattern.test(data2) != 0) {
    alert("ok");
}

輸出:好的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM