Php @symbol之前电子邮件地址的正则表达式
我想要一个正则表达式来检查用户电子邮件地址的第一部分(在@symbol之前) 只有字符、数字和“.”符号有效。我尝试了一些方法,但还不够 这是我的表达方式,但问题是用户可以提交多个点,如“示例..测试”,“ex..amp..le” 编辑:我不想允许下划线或类似的内容Php @symbol之前电子邮件地址的正则表达式,php,regex,Php,Regex,我想要一个正则表达式来检查用户电子邮件地址的第一部分(在@symbol之前) 只有字符、数字和“.”符号有效。我尝试了一些方法,但还不够 这是我的表达方式,但问题是用户可以提交多个点,如“示例..测试”,“ex..amp..le” 编辑:我不想允许下划线或类似的内容 ^(?=[^.]*\.[^.]*$)[a-zA-Z0-9.]+$ 您可以试试。这将只允许一个 $re = "/^(?=[^.]*\\.[^.]*$)[a-zA-Z0-9.]+$/m"; $str = "asdasd.asdasd.
^(?=[^.]*\.[^.]*$)[a-zA-Z0-9.]+$
您可以试试。这将只允许一个
$re = "/^(?=[^.]*\\.[^.]*$)[a-zA-Z0-9.]+$/m";
$str = "asdasd.asdasd.\nasdsad.asdasd\nasdsadsad.asdasd.sa.d.";
preg_match_all($re, $str, $matches);
您可以试试。这将只允许一个
$re = "/^(?=[^.]*\\.[^.]*$)[a-zA-Z0-9.]+$/m";
$str = "asdasd.asdasd.\nasdsad.asdasd\nasdsadsad.asdasd.sa.d.";
preg_match_all($re, $str, $matches);
您可以试试。这将只允许一个
$re = "/^(?=[^.]*\\.[^.]*$)[a-zA-Z0-9.]+$/m";
$str = "asdasd.asdasd.\nasdsad.asdasd\nasdsadsad.asdasd.sa.d.";
preg_match_all($re, $str, $matches);
您可以试试。这将只允许一个
$re = "/^(?=[^.]*\\.[^.]*$)[a-zA-Z0-9.]+$/m";
$str = "asdasd.asdasd.\nasdsad.asdasd\nasdsadsad.asdasd.sa.d.";
preg_match_all($re, $str, $matches);
试试这个:
"/^[a-zA-Z0-9]+(\.[a-zA-Z0-9_-]+)*$/"
必须支持连字符
和下划线
,并且电子邮件必须首先以字母数字字符开头
尝试以下方法:
"/^[a-zA-Z0-9]+(\.[a-zA-Z0-9_-]+)*$/"
必须支持连字符
和下划线
,并且电子邮件必须首先以字母数字字符开头
尝试以下方法:
"/^[a-zA-Z0-9]+(\.[a-zA-Z0-9_-]+)*$/"
必须支持连字符
和下划线
,并且电子邮件必须首先以字母数字字符开头
尝试以下方法:
"/^[a-zA-Z0-9]+(\.[a-zA-Z0-9_-]+)*$/"
必须支持连字符
和下划线
,并且电子邮件必须首先以字母数字字符开头
您的具体案例
要禁止重复字符,可以使用否定断言:
if (preg_match('/(?!.*\.\.)^[a-z0-9.]+$/', $inbox_name)) {
// valid, probably
}
但这允许将句点作为第一个字符,这在电子邮件地址中是不允许的,因此您必须进一步细化它:
if (preg_match('/(?!.*\.(\.|$))^[a-z0-9][a-z0-9.]*$/', $inbox_name)) {
// valid, probably
}
说明:
var_dump(filter_var('ex..ample@example.org', FILTER_VALIDATE_EMAIL));
// bool(false)
var_dump(filter_var('ex.ample@example.org', FILTER_VALIDATE_EMAIL));
// string("ex.ample@example.org")
之后,在您尝试发送电子邮件之前,您仍然无法保证电子邮件地址实际有效(即使这样,也可能是误报)
我不想允许下划线之类的东西
^(?=[^.]*\.[^.]*$)[a-zA-Z0-9.]+$
那论点简直是无稽之谈;它们在电子邮件地址中是有效的,除了个人喜好之外,你真的没有理由阻止它。你的具体情况
要禁止重复字符,可以使用否定断言:
if (preg_match('/(?!.*\.\.)^[a-z0-9.]+$/', $inbox_name)) {
// valid, probably
}
但这允许将句点作为第一个字符,这在电子邮件地址中是不允许的,因此您必须进一步细化它:
if (preg_match('/(?!.*\.(\.|$))^[a-z0-9][a-z0-9.]*$/', $inbox_name)) {
// valid, probably
}
说明:
var_dump(filter_var('ex..ample@example.org', FILTER_VALIDATE_EMAIL));
// bool(false)
var_dump(filter_var('ex.ample@example.org', FILTER_VALIDATE_EMAIL));
// string("ex.ample@example.org")
之后,在您尝试发送电子邮件之前,您仍然无法保证电子邮件地址实际有效(即使这样,也可能是误报)
我不想允许下划线之类的东西
^(?=[^.]*\.[^.]*$)[a-zA-Z0-9.]+$
那论点简直是无稽之谈;它们在电子邮件地址中是有效的,除了个人喜好之外,你真的没有理由阻止它。你的具体情况
要禁止重复字符,可以使用否定断言:
if (preg_match('/(?!.*\.\.)^[a-z0-9.]+$/', $inbox_name)) {
// valid, probably
}
但这允许将句点作为第一个字符,这在电子邮件地址中是不允许的,因此您必须进一步细化它:
if (preg_match('/(?!.*\.(\.|$))^[a-z0-9][a-z0-9.]*$/', $inbox_name)) {
// valid, probably
}
说明:
var_dump(filter_var('ex..ample@example.org', FILTER_VALIDATE_EMAIL));
// bool(false)
var_dump(filter_var('ex.ample@example.org', FILTER_VALIDATE_EMAIL));
// string("ex.ample@example.org")
之后,在您尝试发送电子邮件之前,您仍然无法保证电子邮件地址实际有效(即使这样,也可能是误报)
我不想允许下划线之类的东西
^(?=[^.]*\.[^.]*$)[a-zA-Z0-9.]+$
那论点简直是无稽之谈;它们在电子邮件地址中是有效的,除了个人喜好之外,你真的没有理由阻止它。你的具体情况
要禁止重复字符,可以使用否定断言:
if (preg_match('/(?!.*\.\.)^[a-z0-9.]+$/', $inbox_name)) {
// valid, probably
}
但这允许将句点作为第一个字符,这在电子邮件地址中是不允许的,因此您必须进一步细化它:
if (preg_match('/(?!.*\.(\.|$))^[a-z0-9][a-z0-9.]*$/', $inbox_name)) {
// valid, probably
}
说明:
var_dump(filter_var('ex..ample@example.org', FILTER_VALIDATE_EMAIL));
// bool(false)
var_dump(filter_var('ex.ample@example.org', FILTER_VALIDATE_EMAIL));
// string("ex.ample@example.org")
之后,在您尝试发送电子邮件之前,您仍然无法保证电子邮件地址实际有效(即使这样,也可能是误报)
我不想允许下划线之类的东西
^(?=[^.]*\.[^.]*$)[a-zA-Z0-9.]+$
那论点简直是无稽之谈;它们在电子邮件地址中是有效的,除了个人喜好之外,你真的没有理由阻止它。你可以试试这个
'/^[a-zA-Z0-9]+\.?[a-zA-Z0-9]+@/'
以下是一些输出:
$a = "sf..sf@g.com"
var_dump( preg_match('/^[a-zA-Z0-9]+\.?[a-zA-Z0-9]+@/', $a));
int(0)
$b = "sf.sf@g.com";
var_dump( preg_match('/^[a-zA-Z0-9]+\.?[a-zA-Z0-9]+@/', $b));
int(1)
$c = "sff.@g.com";
var_dump( preg_match('/^[a-zA-Z0-9]+\.?[a-zA-Z0-9]+@/', $c));
int(0)
$d = "sff..@g.com";
var_dump( preg_match('/^[a-zA-Z0-9]+\.?[a-zA-Z0-9]+@/', $d));
int(0)
$e = "adeade@g.com";
var_dump( preg_match('/^[a-zA-Z0-9]+\.?[a-zA-Z0-9]+@/', $e));
int(1)
$f = "a.b.c@g.com";
var_dump( preg_match('/^[a-zA-Z0-9]+\.?[a-zA-Z0-9]+@/', $f));
int(0)
你可以试试这个
'/^[a-zA-Z0-9]+\.?[a-zA-Z0-9]+@/'
以下是一些输出:
$a = "sf..sf@g.com"
var_dump( preg_match('/^[a-zA-Z0-9]+\.?[a-zA-Z0-9]+@/', $a));
int(0)
$b = "sf.sf@g.com";
var_dump( preg_match('/^[a-zA-Z0-9]+\.?[a-zA-Z0-9]+@/', $b));
int(1)
$c = "sff.@g.com";
var_dump( preg_match('/^[a-zA-Z0-9]+\.?[a-zA-Z0-9]+@/', $c));
int(0)
$d = "sff..@g.com";
var_dump( preg_match('/^[a-zA-Z0-9]+\.?[a-zA-Z0-9]+@/', $d));
int(0)
$e = "adeade@g.com";
var_dump( preg_match('/^[a-zA-Z0-9]+\.?[a-zA-Z0-9]+@/', $e));
int(1)
$f = "a.b.c@g.com";
var_dump( preg_match('/^[a-zA-Z0-9]+\.?[a-zA-Z0-9]+@/', $f));
int(0)
你可以试试这个
'/^[a-zA-Z0-9]+\.?[a-zA-Z0-9]+@/'
以下是一些输出:
$a = "sf..sf@g.com"
var_dump( preg_match('/^[a-zA-Z0-9]+\.?[a-zA-Z0-9]+@/', $a));
int(0)
$b = "sf.sf@g.com";
var_dump( preg_match('/^[a-zA-Z0-9]+\.?[a-zA-Z0-9]+@/', $b));
int(1)
$c = "sff.@g.com";
var_dump( preg_match('/^[a-zA-Z0-9]+\.?[a-zA-Z0-9]+@/', $c));
int(0)
$d = "sff..@g.com";
var_dump( preg_match('/^[a-zA-Z0-9]+\.?[a-zA-Z0-9]+@/', $d));
int(0)
$e = "adeade@g.com";
var_dump( preg_match('/^[a-zA-Z0-9]+\.?[a-zA-Z0-9]+@/', $e));
int(1)
$f = "a.b.c@g.com";
var_dump( preg_match('/^[a-zA-Z0-9]+\.?[a-zA-Z0-9]+@/', $f));
int(0)
你可以试试这个
'/^[a-zA-Z0-9]+\.?[a-zA-Z0-9]+@/'
以下是一些输出:
$a = "sf..sf@g.com"
var_dump( preg_match('/^[a-zA-Z0-9]+\.?[a-zA-Z0-9]+@/', $a));
int(0)
$b = "sf.sf@g.com";
var_dump( preg_match('/^[a-zA-Z0-9]+\.?[a-zA-Z0-9]+@/', $b));
int(1)
$c = "sff.@g.com";
var_dump( preg_match('/^[a-zA-Z0-9]+\.?[a-zA-Z0-9]+@/', $c));
int(0)
$d = "sff..@g.com";
var_dump( preg_match('/^[a-zA-Z0-9]+\.?[a-zA-Z0-9]+@/', $d));
int(0)
$e = "adeade@g.com";
var_dump( preg_match('/^[a-zA-Z0-9]+\.?[a-zA-Z0-9]+@/', $e));
int(1)
$f = "a.b.c@g.com";
var_dump( preg_match('/^[a-zA-Z0-9]+\.?[a-zA-Z0-9]+@/', $f));
int(0)
为什么连字符不行?这些怎么了?下划线如何?是否允许使用单个点?如果是,请尝试
“/^[a-zA-Z0-9]+\.[a-zA-Z0-9]+$/”
您可以将筛选变量()
与筛选验证电子邮件一起使用;为什么一开始就要自己滚?毕竟,电子邮件地址只有在向其发送电子邮件成功(通常)时才能进行验证。为什么不使用连字符?这些怎么了?下划线如何?是否允许使用单个点?如果是,请尝试“/^[a-zA-Z0-9]+\.[a-zA-Z0-9]+$/”
您可以将筛选变量()
与筛选验证电子邮件一起使用;为什么一开始就要自己滚?毕竟,电子邮件地址只有在向其发送电子邮件时才能被验证