簡體   English   中英

Javascript RegExp以匹配用戶ID模式

[英]Javascript RegExp to match user ID pattern

我正在使用下面的C#代碼檢測字符串的格式是否為E123456,H123456或T123456。

Regex(@"\b[eht]\d{6}") 

我正在嘗試使用等效的Javascript,但遇到了困難。

到目前為止,我已經知道了,但是每次它應該返回true時都返回false。

RegExp("\b[eht]\d{6}") 

任何幫助將不勝感激,或者是RegExp格式的良好鏈接。

我認為您遇到的問題是由於以下事實:在將RegExp構造函數與字符串參數一起使用時,必須使用反斜杠字符對特殊字符(例如,斜杠和引號)進行轉義。 另外,如果要同時允許大小寫匹配,請使用i標志。

要使用構造函數方法制作RegExp,可以使用:

new RegExp("\\b[eht]\\d{6}", "i")

或使用RegExp文字,請執行以下操作:

var regExName = /\b[eht]\d{6}/i

另外,如果您想在JavaScript中使用RegEx進行更多試驗,我強烈推薦http://regexr.com/,這是一個很棒的網站!

您的正則表達式僅匹配小寫字符,而用戶ID則大寫E,H和T。因此,請在正則表達式字符串中使用大寫字母( RegExp("\\b[EHT]\\d{6}") )或使用i標志( RegExp("\\b[eht]\\d{6}",'i')

轉義字符串存在一些麻煩,並且正如我所見,正則表達式應不區分大小寫。 試試這個正則表達式:

/\b[eht]\d{6}/i

或使用RegExp構造函數:

new RegExp("\\b[eht]\\d{6}", "i")

暫無
暫無

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

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