[英]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.