如何在正则表达式中创建所需的字符?

How to make a character required in regex?

我想对 phone 号码进行简单验证。 phone 数字的长度应为 13,并且开头应包含一个 + 符号。所以,+123456789001 是一个有效的数字 1234566780111 是无效的。

我目前正在使用这个,但我不确定如何让 + 成为开头的必需字符。

/^[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);

Demo

那么我们的函数可能如下所示:

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

正则表达式电路

jex.im 可视化正则表达式: