我是正则表达式的新手,我只需要一个语句。
我希望我的声明接受这些数字类型:
06643823423 可能更长或 0664 3843455 或 +43664 4356999
重要的是,这些只是一种说法。
谁能帮我?
我是正则表达式的新手,我只需要一个语句。
我希望我的声明接受这些数字类型:
06643823423 可能更长或 0664 3843455 或 +43664 4356999
重要的是,这些只是一种说法。
谁能帮我?
怎么样:
^\+?[0-9 ]+$
您可以将其与 preg_match 一起使用,例如
$matches = preg_match("/^\+?[0-9 ]+$/", $telephone_number);
尝试\+?\d+\s?\d+
解释一下:
\+?
- 加号(用 \ 转义,因为 '+' 是正则表达式中的特殊字符)。这 '?' 表示“前面的字符的 0 或 1”,使其成为可选
\d+
- \d 表示数字;加号表示 1 个或多个
\s?
- \s 表示空白字符;这 ?使其可选
\d+
- \d 表示数字;加号表示 1 或更多
所以这应该匹配 2 个或更多数字,开头有一个可选的 + 符号,中间的某个地方有一个可选的空格。
$regExp = '/^([+][4][3]|[0]){1}([0-9]{3})([ ]{0,1})([0-9]{7})$/';
$number = "06643823423";
if(!preg_match($regExp,trim($number)))
{
echo FALSE;
}
else
{
echo TRUE;
}
从你那里,我能想出的唯一正则表达式是:
$phone_number = '+449287645367';
var_dump(preg_match("/^[\+|0][0-9]{10,12}$/",str_replace(' ','',$phone_number)));