2012-10-21 33 views
3

我用下面的電子郵件驗證表單提交的前一個HTML5 Web應用程序:我可以在HTML5模式屬性中使用包含&的正則表達式嗎?

<input id="mail" name="mail" type="email" value="" required placeholder="Email" 
pattern="[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?"> 

然而,在正則表達式的&符號似乎無效的HTML。檢查在http://validator.w3.org/我收到以下錯誤信息:

& did not start a character reference. 
(& probably should have been escaped as &amp;.) 

它甚至有可能逃跑的正則表達式&符號不搞亂它呢?驗證者在這種情況下是否正確?

回答

4

可以,例如,使用十六進制值:\x26

在這裏看到:http://regex101.com/r/bF4bZ3

換句話說,[....$%&'*....]將成爲​​。其餘的做同樣的事情。

+0

這是一個很好的建議!謝謝。儘管如此,仍然非常好奇,要知道這是否應該這樣做,以及這是W3驗證人的虛驚。 –

相關問題