私はRegExp
を使用して、単一のメールアドレスを検証しています。それは,
(カンマ)を検証するものではありません。続き電子メールRegexがコンマを間違って受け入れる
は私の正規表現です:
^[-a-zA-Z0-9~!$%^&*_=+}{\'?]+(\.[-a-zA-Z0-9~!$%^&*_=+}{\'?]+)*@([a-zA-Z0-9_][-a-zA-Z0-9_]*(\.[-a-zA-Z0-9_]+)*\.([a-zA-Z]{2,})|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,5})?$
regex101で期待どおりにまた働きます。
予想される出力:
[email protected]
(有効)[email protected],test
(無効)
私の正規表現が間違っているか、他のいくつかの問題がありますか?私はあなたがあなたの正規表現をエスケープしていないと思います
var regex = new RegExp("^[-a-zA-Z0-9~!$%^&*_=+}{\'?]+(\.[-a-zA-Z0-9~!$%^&*_=+}{\'?]+)*@([a-zA-Z0-9_][-a-zA-Z0-9_]*(\.[-a-zA-Z0-9_]+)*\.([a-zA-Z]{2,})|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,5})?$");
console.log(regex.test("[email protected]"))
console.log(regex.test("[email protected],test"))
ありがとう!私はなぜそれがコンマを受け入れるように逃げていないのか知りたい。 – tanmay
あるいは 'var regex =/ /;'構文を使って 'regex'を作成すると、' \\ 'をエスケープする必要はありません。しかし、両方の仕事 –
また、なぜregex101で働いていたのですか? – tanmay