0

文字列内の電子メールアドレスを照合するためのこの正規表現があります。

[a-zA-Z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+(\.[a-zA-Z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.([a-zA-Z]{2,})

これは世界で最高の正規表現ではありませんが、私の使用には十分です。

私がこのようなjavascriptでこれを使用しているとき:

var emails = string.match("[a-zA-Z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+(\.[a-zA-Z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.([a-zA-Z]{2,})");

最初のメールアドレスのみを照合しています。これは、g修飾子を使用していないため正常です。

問題は、次のようなg修飾子を使用している場合です。

var emails = email[0].match("[a-zA-Z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+(\.[a-zA-Z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.([a-zA-Z]{2,})g");

var emailsがnullであるため、一致が機能していません。

よろしければ、これを手伝ってください。

ありがとうございました。

4

2 に答える 2

5

試す :

var emails = yourString.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi);
于 2012-07-04T07:44:03.263 に答える
1

これを試してください システムのサーブレット検証フィルターで使用しました javascriptで機能するかどうかわかりません

"^[a-zA-Z0-9._]+@[a-zA-Z0-9._]{3,}$"
于 2012-07-04T07:40:02.083 に答える