Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在正则表达式中生成所需的字符?_Php_Regex_Preg Match - Fatal编程技术网

Php 如何在正则表达式中生成所需的字符?

Php 如何在正则表达式中生成所需的字符?,php,regex,preg-match,Php,Regex,Preg Match,我想对一个电话号码做一个简单的验证。电话号码的长度应为13,并且应在开头包含一个+符号。因此,+12345678001是一个有效数字12345667780111无效 我目前正在使用它,但我不确定如何在开始时使+成为必需的字符 /^[0-9]{13}+$/ 在功能上: function validate_mobile($mobile) { return preg_match('/^[0-9]{13}+$/', $mobile); } 您的原始表达式很好,我们只需添加一个+: $re =

我想对一个电话号码做一个简单的验证。电话号码的长度应为13,并且应在开头包含一个
+
符号。因此,
+12345678001
是一个有效数字
12345667780111
无效

我目前正在使用它,但我不确定如何在开始时使
+
成为必需的字符

/^[0-9]{13}+$/
在功能上:

function validate_mobile($mobile)
{
    return preg_match('/^[0-9]{13}+$/', $mobile);
}

您的原始表达式很好,我们只需添加一个
+

$re = '/^\+[0-9]{12}$/m';
$str = '+123456789001';

preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);

var_dump($matches);
那么我们的函数可能看起来像:

function validate_mobile($mobile)
{
    return preg_match('/^\+[0-9]{12}$/m', $mobile);
}
正则表达式电路 可视化正则表达式: