正则表达式强制电子邮件地址中至少包含 3 个字符

Regex Forcing 3 minimum Characters in email address

我有用于电子邮件验证的正则表达式 ^[a-zA-Z0-9äöüÄÖÜß]{1}[äöüÄÖÜß\w\._%+-]{1}[äöüÄÖÜßa-zA-Z0-9]{1}@[\wäöüÄÖÜß]{1}[äöüÄÖÜß\w\.-]+\.[a-z]{2,4}$,它在 @ 符号之前接受至少 3 个字符,我想在 @ 符号之前允许一个或多个字符。参考下面的解释。 abc@gmail.de 工作正常但 ab@gmail.com 不工作。我希望用户在 @ 符号之前输入至少 1 个字符。

您可以从模式中省略 {1},因为字符 class 本身没有量词匹配 1 个字符。目前您正好匹配 3 个字符,因此您可以只使用一个字符 class 并重复该字符 1 次或多次。

请注意,您不必转义字符 class 中的点。

^[a-zA-Z0-9][a-zA-Z0-9äöüÄÖÜß]*@[\wäöüÄÖÜß][äöüÄÖÜß\w.-]+\.[a-z]{2,4}$

看到一个regex demo