我使用1000hz自舉驗證器來驗證電子郵件輸入,並且我無法在正則表達式@
中轉義「@」字符。有沒有人有想法?正則表達式中的@字符
我試過@@,@('@')甚至是十六進制代碼(@)。十六進制工作正常,直到我更新了谷歌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. [email protected]" />
此外,Chrome瀏覽引發以下錯誤消息:validator.min.js: 94模式屬性值^ [a-zA-Z0-9 ._%+ - ] + @ [a-zA-Z0-9 .-] +。[a-zA-Z] {2,4}不是有效的正則表達式:未捕獲SyntaxError:無效正則表達式:/^[a-zA-Z0-9._%+-][email protected][a-a-Z0-9.-]+.[a-zA-Z]{2 ,4} /:無效轉義
在此先感謝。
爲什麼你需要「逃避」它呢? '@'不是特殊字符。不'pattern =「^ [a-zA-Z0-9 \。\ _%+ - ] + @ [a-zA-Z0-9 \。\ - ] + \。[a-zA-Z] { 2,4}「工作?你甚至可以把它寫成'pattern =「[\ w。%+ - ] + @ [a-zA-Z0-9 .-] + \。[a-zA-Z] {2,4}」'轉義是多餘的,並且'[a-zA-Z0-9_]'='\ w'。此外,該模式默認爲錨定 –
@WiktorStribiżew'@'是剃鬚刀C#mvc中的特殊字符,因此需要轉義它 – vegas2033
然後嘗試用'\\ x40'或'\\ u0040'替換它。不確定雙重轉義'''',也許單個人會做。同時檢查。 –