2016-05-17 52 views
0

我已经返回一个preg_match来检查起始数字是否为9477或不是,它可以正常工作。但是现在我想添加另一个条件来添加94779476应该是有效的。如何匹配pregmatch中的两个数字?

这里的条件:

  1. 应包含11位数字
  2. 应与94779476

这里开始是我的代码:

preg_match('/^9477\d{7}$/',$Mnumber) 

回答

0

只需使用(9477|9476)

echo preg_match('/^(9477|9476)\d{7}$/',$Mnumber); 

您还可以使用:

  1. /^947(7|6)\d{7}$/
  2. /^947[76]\d{7}$/
1

使用两个数字之间的交替:

preg_match('/^947(?:7|6)\d{7}$/',$Mnumber) 

(?:7|6)是一个非捕获匹配数字76的组。非捕获组比捕获组效率更高。

你也可以这样做:

preg_match('/^947[76]\d{7}$/',$Mnumber); 

[67]是一个字符类匹配的数字76

1

使用在[]

echo preg_match('/^947[76]\d{7}$/',$Mnumber); 
分组
相关问题