0

ここで何か不足していますか?この正規表現は電子メールの検証用であり、スラッシュの 1 つが構文の強調表示から外れているようです。

ここに画像の説明を入力

var emailRegex = /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/;

var validEmail = emailRegex.test(newEmail.email);

私は何か間違ったことをしていますか?これを防ぐためにこの正規表現をフォーマットする別の方法はありますか?

この質問に対する答えを見つけることができませんでした。

4

1 に答える 1

3

おそらく/、正規表現でエスケープすることができます。それ以外の場合、構文ハイライターは正規表現リテラルを閉じていると見なします。

//-----------------------vv
var re = /[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/;

または、使用しているエディターでバグを報告することもできます。


SO のシンタックス ハイライターにはオリジナルの問題がないことに注意してください。

var re = /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/;
于 2013-07-01T22:14:00.927 に答える