[英]Escape @ character in a Regex
我正在使用1000hz引導程序驗證程序來驗證電子郵件輸入,但無法在正則表達式@
轉義'@'字符@
。 有人有主意嗎?
我嘗試了@@,@('@')甚至十六進制代碼(@)。 十六進制工作正常,直到我將Google Chrome更新到V53,現在它不再有效
這是我的輸入:
<input type="text" pattern="^[a-zA-Z0-9\.\_%+-]+@[a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,4}" required data-error="Enter a valid email address" name="contractor-email" class="form-control" placeholder="e.g. smith.mike@smith.com" />
此外,Chrome還會拋出以下錯誤消息:validator.min.js:94模式屬性值^ [a-zA-Z0-9 ._%+-] + @ [a-zA-Z0-9 .-] +。[ a-zA-Z] {2,4}不是有效的正則表達式:未捕獲的語法錯誤:無效的正則表達式:/^[a-zA-Z0-9._%+-]+@[a-zA-Z0- 9 .-] +。[a-zA-Z] {2,4} /:無效的轉義
提前致謝。
我不知道這是否是最佳做法,但是使用@(“ @”)
因此事實證明,錯誤並非出自“ @”符號,而是我在正則表達式第一個元素中轉義字符的方式。 以下正則表達式有效: ^[a-zA-Z0-9%+-\\._]+@[a-zA-Z0-9\\.\\-]+\\.[a-zA-Z]{2,4}
。
感謝您的幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.