4

HTML5 Webアプリでフォームを送信する前に、次の電子メール検証を使用します。

<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

1 に答える 1

6

たとえば、16進値を使用できます。\x26

ここを参照してください:http://regex101.com/r/bF4bZ3

言い換えれば、[....$%&'*....]になり[....$%\x26'*....]ます。残りも同じようにします。

于 2012-10-21T10:05:13.060 に答える