首页 > 解决方案 > 正则表达式强制电子邮件地址中的至少 3 个字符

问题描述

我有用于电子邮件验证的正则表达式^[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 个字符。

标签: regexvalidation

解决方案


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

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

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

查看正则表达式演示


推荐阅读