php验证和验证字符串

时间:2011-07-24 21:01:57

标签: php authentication

我有几个组成CustomerInfo Object的字符串。我想编写一个验证每个字符串的函数。

例如,我有以下值存储为字符串: 公寓号码 街 市 名称 电话 电子邮件

服务器接收每个服务器,并将它们存储在数据库中。但是,在我这样做之前,我想验证带有这些值的字符串变量的内容。

我是PHP和服务器端编程的新手。我想知道什么是一些好的,但简单的策略来实现这一目标。 有人可以指点我一些想法和链接。

由于

3 个答案:

答案 0 :(得分:5)

这是正则表达式有用的地方。见preg_match。您可能希望在正则表达式上阅读此tutorial :)当您熟悉它们时请记住,不能做所有事情。他们只能解析常规语言。有时人们会被带走,并试图用正则表达式做太多,所以这只是一个警告。这是一个简单的示例用法:

if(!preg_match('/^[\w.%+-]+@[\w.-]+\.[A-Z]{2,5}$/i', $email)){
    // Email is unvalid.
    // Handle it here
}

模式/^[\w.%+-]+@[\w.-]+\.[A-Z]{2,5}$/i可以分解为:

/ - >分隔符,可以使用任何字符。

^ - >字符串的开头

[\ w。%+ - ] + - >集合中的一个或多个(+)字符[\ w。%+ - ]允许单词字符(字母和下划线)和任何符号'。%+ - '

@ - >一个@符号

[\ w .-] + - >一个或多个单词字符点或连字符

\。 - >单点

[A-Z] {2,5} - > 2-5大写字母

$ - >字符串结尾

/ - >结束分隔符(正则表达式结束)

i - >不区分大小写的修饰符(这意味着之前我有A-Z的地方现在也匹配a-z

答案 1 :(得分:1)

在php中,您可以使用preg_match检查字符串regular expressions。如果你想使用这些但你不熟悉正则表达式,你可以查看这个simple tutorial,或者你可以在online regular expression database 中搜索一个好的正则表达式(这个例子显示了正则表达式)用于email pattern checking

答案 2 :(得分:0)

您可以使用内置的PHP过滤器来执行标准验证:

http://php.net/manual/en/function.filter-var.php http://php.net/manual/en/filter.filters.validate.php

// Example:
if (filter_var($email_input, FILTER_VALIDATE_EMAIL) !== false) {
    // Invalid e-mail!
}

请注意,这仅适用于PHP 5.2 +