计算电子邮件是否适合正则表达式?
Calculating if an email fits within a regex?
所以我想确定是否有人在使用我们系统生成的临时电子邮件。如果用户尝试使用社交帐户(Twitter / Facebook)登录,但他们拒绝访问电子邮件,我会为我们的系统生成一封电子邮件,即 AccountID@facebook.com 或 AccountID@twitter.com 例如123456789@facebook.com。在用户输入真实电子邮件之前,这是一封临时电子邮件。我正在尝试使用正则表达式对此进行比较。
if (preg_match("/^[0-9]@twitter.com/", Auth::user()->email, $matches)) {
}
但是我认为我的正则表达式不正确。如何检查字符串的格式是否为 N 位数后跟 @twitter.com 或 @facebook.com
How would one check if the format of a string is N Number of digits followed by @twitter.com
or @facebook.com
您可以使用这个正则表达式:
'/^\d+@(?:facebook|twitter)\.com$/'
您正在使用 ^[0-9]@
,这将只允许在开始时使用一位数字。此外 DOT 是正则表达式中需要转义的特殊字符。另请注意在您的锚点中使用结束锚点 $
以避免匹配不需要的输入。
您忘记将 ID 设置为多个号码:
if (preg_match("/^[0-9]+@(twitter|facebook)\.com/", Auth::user()->email, $matches))
{
//Your code here
}
所以我想确定是否有人在使用我们系统生成的临时电子邮件。如果用户尝试使用社交帐户(Twitter / Facebook)登录,但他们拒绝访问电子邮件,我会为我们的系统生成一封电子邮件,即 AccountID@facebook.com 或 AccountID@twitter.com 例如123456789@facebook.com。在用户输入真实电子邮件之前,这是一封临时电子邮件。我正在尝试使用正则表达式对此进行比较。
if (preg_match("/^[0-9]@twitter.com/", Auth::user()->email, $matches)) {
}
但是我认为我的正则表达式不正确。如何检查字符串的格式是否为 N 位数后跟 @twitter.com 或 @facebook.com
How would one check if the format of a string is N Number of digits followed by
@twitter.com
or@facebook.com
您可以使用这个正则表达式:
'/^\d+@(?:facebook|twitter)\.com$/'
您正在使用 ^[0-9]@
,这将只允许在开始时使用一位数字。此外 DOT 是正则表达式中需要转义的特殊字符。另请注意在您的锚点中使用结束锚点 $
以避免匹配不需要的输入。
您忘记将 ID 设置为多个号码:
if (preg_match("/^[0-9]+@(twitter|facebook)\.com/", Auth::user()->email, $matches))
{
//Your code here
}