为什么PHP的filter_var无法识别电子邮件地址?

时间:2017-12-13 18:29:31

标签: php

我从PHP开始并编写了一个单元测试,看看我是否做对了。

Private Sub SqrtButton_Click()
    Dim rng As Range, cell As Range
    Set rng = Selection
    For Each cell In rng.Cells
        If IsNumeric(cell.Value) And cell.Value >= 0 Then
            cell.Value = Sqr(cell.Value)
        Else
            MsgBox "Invalid Value [" & cell.Value & "] at cell " & cell.Address(0, 0)
        End If
    Next cell
End Sub

这失败了,但我不明白为什么。

  

1)MyTest :: testEmailWtf

     

声明'me@gmail.com'为真的失败。

为什么这不接受有效的电子邮件地址?

1 个答案:

答案 0 :(得分:4)

根据http://php.net/manual/en/function.filter-var.php,如果出现问题,filter_var将返回FALSE,如果一切正常,则返回您的字符串

所以我相信您应该使用assertEquals更改测试:

<?php
$emailToValidate = "me@gmail.com";
$this->assertEquals($emailToValidate , filter_var($emailToValidate, FILTER_VALIDATE_EMAIL));
?>