簡體   English   中英

在Javascript中使用正則表達式

[英]Using regular expression in Javascript

我需要檢查輸入的信息是否是3個字符長,第一個應該是0-9AZ和第三個0-9

我寫的模式如下:

var pattern = `'^[A-Z]+[0-9]+[A-Z]$'`;
var valid = str.match(pattern);

我對使用正則表達式進行選擇,匹配和替換感到困惑。

  • 在這種情況下, [AZ]只檢查一個字符或整個字符串嗎?
  • +分開(拆分?)字符?

+表示一個或多個字符,因此可能的字符串是ABCD1234EF或A3B,無效的是3B或A 6B

1) +匹配一個或多個。 你想要一個

2)將您的模式聲明為REGEX文字,在正斜杠內

考慮到這兩點,你的模式應該是

/^[A-Z][0-9][A-Z]$/

另請注意,通過將\\d [0-9]替換為\\d快捷鍵(匹配任何數字字符),可以使模式稍微縮短。

3)(可選)如果要允許任何一種情況,請在最終的尾部斜杠后添加不區分大小寫的i標志。

4)如果你只想測試一個匹配模式的字符串,而不是從中檢索匹配,那么使用test() ,而不是match() - 它更有效。

var valid = pattern.test(str); //true or false

這是你需要的正則表達式:

^[0-9][A-Z][0-9]$

在這種情況下,[AZ]只檢查一個字符或整個字符串嗎?

它只是檢查1個字符,但字符串可以多次使用char。

你應該添加^和$以便像我一樣匹配整個字符串。

+分開(拆分?)字符? 沒有。

+符號只表​​示字符可以重復1次以上。

“+”表示一個或多個。 在您的情況下,您應該使用精確數量匹配:

/^\w{1}\d{1}\w{1}$/

暫無
暫無

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

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