質問に入る前に、これを前置きさせてください。メールアドレスの検証に関して、従わなければならない一連の厳格な要件がありました。私はそれらのいくつかに異議を唱えようとしましたが、却下されました。
とにかく、要件の中には次のものがありました。
- 連続したピリオドなし
- 位置 1 に特殊文字はありません
- @ の前後にピリオドはありません
- 次の文字を許可します: +!#$%&*/=?`{|}~'_-.
要件を満たすための私の試みは成功しましたが、1 つの障害がありました。ローカル部分に使用している正規表現が原因で、不適切な最小 3 文字が必要になりました。これが私の試みです:
(^(?!.*\\.{2})([a-zA-Z0-9{1}]+[a-zA-Z0-9\\._\\-\\+!#$%&*/=?`{|}~']+[a-zA-Z0-9{1}])+@([a-zA-Z0-9{1}]+[a-zA-Z0-9\\-]+[a-zA-Z0-9{1}]+\\.)+([a-zA-Z0-9\\-]{2}|net|com|gov|mil|org|edu|int|NET|COM|GOV|MIL|ORG|EDU|INT)$)|^$
なぜこれが起こっているのかは理解していますが、それを回避する方法がわかりません。どんな援助でも大歓迎です。
編集: 多くの議論の結果、私の問題は電子メール アドレスのローカル部分に固有のものではないことが判明しました。ドメイン部分も同じ問題に苦しんでいます。
ありがとう、セブ