【发布时间】:2009-06-22 22:34:25
【问题描述】:
请告诉我如何在PHP的preg_match函数中使用各种用于表达式匹配的符号。
除基本信息外,请举例检查有效的电子邮件地址和不应包含 / : 的字符串; { } * &
【问题讨论】:
标签: php regex validation preg-match
请告诉我如何在PHP的preg_match函数中使用各种用于表达式匹配的符号。
除基本信息外,请举例检查有效的电子邮件地址和不应包含 / : 的字符串; { } * &
【问题讨论】:
标签: php regex validation preg-match
简单示例.. 验证 $var 是一个字符串,用于验证和检查 (a to z AND A to Z) 字符。
<?php
$var = 'hello';
if (ereg("[a-zA-Z]", $var)) {
echo 'it was typed correctly';
} else {
echo 'it was not typed correctly';
}
?>
更多正则表达式语法示例:http://www.regexlib.com/
编辑:
if (ereg("^([0-9,a-z,A-Z]+)([.,_]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[.]([0-9,a-z,A-Z]){2}([0-9,a-z,A-Z])?$", $email)) {
echo 'email ok';
} else {
echo 'email not ok';
}
问候。
【讨论】:
Jeff Atwood 最近在他的coding horror blog 上有一篇关于正则表达式的文章。查看“Regular Expressions for Regular Programmers”。
【讨论】:
要检查有效的邮件,您可以使用内置功能 (filter_var()/FILTER_VALIDATE_EMAIL) 或使用符合当前 RFC 的 nice ready to use 库。 PHP : Parsing Email Adresses in PHP。有关preg_match() 的示例,您可以访问 php 网站,Wikipedia 上提供了完整的正则表达式选项列表。要了解正则表达式,我推荐“The Regex Coach”。
【讨论】:
我知道这个问题是关于 PHP 的,但我的目的是说明电子邮件地址验证的复杂性:要检查电子邮件地址是否符合 RFC 2822,您可以使用 Perl 模块 Email::Address。请查看该模块的源代码以及 RFC。
【讨论】:
如果我给 $var = 'hello87%^$' 也返回“输入正确”;
【讨论】: