我想为电话号码写一个正则表达式。第一种模式使用英文数字,第二种模式使用波斯数字。如何使用 连接这些模式|
?
$pattern1 = '/^(\d{4})?\s?[1-9]{1}[0-9]{6}$/';
$pattern2 = '/^([\x{0660}-\x{0669}]{4})?\s?[\x{0661}-\x{0669}]{1}[\x{0660}-\x{0669}]{6}$/u';
这不起作用:
if (preg_match("($pattern1)|($pattern2)", $phone_number))...
并打印此警告:
Warning: preg_match(): Unknown modifier '|'
我也不确定/u
分隔符是否应该放在第二个模式的末尾,并且每个子模式(模式 1 和模式 2)应该有它们的分隔符,或者整个连接的模式应该只有一个分隔符(例如/pattern1|pattern2/u
)