正则表达式用于检测电子邮件地址中 @ 之前的句号。

18 浏览
0 Comments

正则表达式用于检测电子邮件地址中 @ 之前的句号。

需要一个能够检测first.second@domain.tld但不会检测([a-z0-9A-Z])@domain.tld的正则表达式。

有效:abc123XYZ@domain.tld

无效:abc12.de456@domain.tld

我知道在电子邮件地址中,@之前的句点是合法的,但需要检测这种情况。

0
0 Comments

正则表达式:\.(?=.*@)可以用来检测电子邮件地址中@符号前面是否有句点。在这里使用lookahead的原因是为了只捕获在@符号前面的句点,并且不包括@符号在内。根据我了解,这个正则表达式只是用来检测一个true/false的匹配,所以没有必要排除@符号。

也许他们在验证之后会突出显示问题字符给用户看。我不知道,这只是我选择编写答案的方式 🙂

如果你想在电子邮件地址中的@符号前面检测是否有句点,可以使用上述的正则表达式:\.(?=.*@)。这个正则表达式使用了lookahead,只捕获在@符号前面的句点,并且不包括@符号在内。编写这样的正则表达式可能是为了在验证之后突出显示问题字符给用户看。这个正则表达式可以用于检测电子邮件地址中是否按照规定的格式输入。

0
0 Comments

正则表达式用于检测电子邮件地址中@符号之前是否有句号,以下是问题的出现原因及解决方法:

在这种情况下,不需要使用正则表达式,只需比较句号的位置和@符号的位置即可。

解决方法如下:

// 假设$email中已经包含了@符号

if (($p = strpos($email, '.')) !== false && $p < strpos($email, '@')) {

echo 'invalid';

}

如果电子邮件地址中没有@符号,则不会输出'invalid',因为任何整数都不会严格小于false。

0
0 Comments

问题出现的原因是需要通过正则表达式检测电子邮件地址中是否存在@之前的句号。解决方法是使用以下代码:\..*@。该代码表示:一个句号,然后是0个或多个字符,最后是一个@符号。

0