如何使用PHP的preg_match验证字符串?

如何使用PHP的preg_match验证字符串?

问题描述:

请告诉我如何使用PHP的preg_match函数中用于表达式匹配的各种符号。如何使用PHP的preg_match验证字符串?

除了基本信息,请举例说明检查有效的电子邮件地址和不应包含/:的字符串。 {} * &

Jeff Atwood最近有一篇关于他的coding horror blog关于正则表达式的文章。请查看“Regular Expressions for Regular Programmers”。

+0

不错的文章 非常搞笑我必须说 – OrangeRind 2009-06-22 22:46:12

要检查一个有效的邮件,您可以使用内置功能(filter_var()/FILTER_VALIDATE_EMAIL)或使用很好的准备使用符合当前RFC的库。 PHP : Parsing Email Adresses in PHP。有关preg_match()的示例,您可以访问php网站,并在Wikipedia上提供完整列表正则表达式选项。要了解正则表达式,我建议“The Regex Coach”。

简单示例验证$ var是验证并检查(a到z AND A到Z)字符的字符串。

<?php 
$var = 'hello'; 
if (ereg("[a-zA-Z]", $var)) { 
    echo 'it was typed correctly'; 
} else { 
    echo 'it was not typed correctly'; 
} 
?> 

多个正则表达式的语法exemples: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'; 

} 

问候。

+0

感谢您的链接! – OrangeRind 2009-06-22 22:51:12

我知道这个问题是关于PHP的,但我的目的是说明错综复杂的电子邮件地址验证:要检查电子邮件地址是否符合RFC 2822,可以使用Perl模块Email::Address。请看看该模块的源代码以及RFC。

如果我给$ var ='hello87%^ $'也返回“它输入正确”;