Php 电话的正则表达式在类中有效

Php 电话的正则表达式在类中有效,php,regex,class,Php,Regex,Class,我必须用这个短语使手机有效 00-972-598-195-871 public function setPhone($phone) { if ($this-> phoneVald($phone)) { $this-> phone = $phone; } else { echo "<br />Bad Phone Number"; } } 我做这个函数 private function phoneVald(

我必须用这个短语使手机有效

00-972-598-195-871
public function setPhone($phone) {

    if ($this-> phoneVald($phone)) {
        $this-> phone = $phone;
    } else {
        echo "<br />Bad Phone Number";
    }
}
我做这个函数

    private function phoneVald($phone) {
    return ereg("/^[0-9]{2}-[0-9]{3}-[0-9]{3}-[0-9]{3}-[0-9]{3}$/",$phone);
}
这是表达式的条件

00-972-598-195-871
public function setPhone($phone) {

    if ($this-> phoneVald($phone)) {
        $this-> phone = $phone;
    } else {
        echo "<br />Bad Phone Number";
    }
}
我的电话号码不好


我的代码有问题吗

您的
regex
是正确的,请尝试以这种方式从
friendContInfo
类调用您的
方法。您还可以使用
\u construct()
在对象实例化上设置
$phone

看这里

class frindContInfo{
公共功能设置电话($phone){
如果($this->phoneVald($phone)){
$this->phone=$phone;
}否则{
回显“
错误的电话号码”; } } 专用函数phoneVald($phone) { 返回ereg(“/^[0-9]{2}-[0-9]{3}-[0-9]{3}-[0-9]{3}-[0-9] {3} $/“,$电话); } } $object=new frindContInfo(); $object->setPhone('00-972-598-195-871');
我认为埃雷格贬值了。你可以用preg_match,我用了,这是工作,但当我在课堂上用它时,不工作$phone='00-972-598-195-871';如果(preg_match(“/^[0-9]{2}-[0-9]{3}-[0-9]{3}-[0-9]{3}-[0-9]{3}$/”,$phone)){echo“good phone”;}否则{echo“bad phone”;}那么问题不在于正则表达式。你的代码有点问题。正如你所看到的,我把函数和if条件放在函数中,类工作得很好,但是类中的函数不工作,我这样做了。。函数uu构造($fname,$lname,$phone,$email){$this->setFname($fname);$this->setLname($lname);$this->setEmail($email);$this->setPhone($phone);}同样的问题