Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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 - Fatal编程技术网

Php 每个字符之间允许有空格

Php 每个字符之间允许有空格,php,regex,Php,Regex,我想允许使用数字和以下字符:-,+,(,) 嗯,这很有效。但我也希望在每个字符之间留出空格。因此,$phone的值可能类似于+45(548)-541 55 11,但它也可以在没有空格的情况下有效 我如何允许使用可选空格?试图预测人们可以选择的所有写电话号码的荒谬方式只会损害你的理智 $phone = '+1 (234) 567-8900'; // 1. Delete all non-consequential characters. $phone_bare = preg_replace('/[

我想允许使用数字和以下字符:
-
+

嗯,这很有效。但我也希望在每个字符之间留出空格。因此,
$phone
的值可能类似于
+45(548)-541 55 11
,但它也可以在没有空格的情况下有效


我如何允许使用可选空格?

试图预测人们可以选择的所有写电话号码的荒谬方式只会损害你的理智

$phone = '+1 (234) 567-8900';

// 1. Delete all non-consequential characters.
$phone_bare = preg_replace('/[^\d+]/', '', $phone);

// 2. Check against a simple, sane format.
//      eg: optional +, 11 digits
$result = preg_match('/^\+?\d{11}$/', $phone_bare);

var_dump($phone, $phone_bare, $result);
输出:

string(17) "+1 (234) 567-8900"
string(12) "+12345678900"
int(1)

也许这个页面很有用,只需在字符列表中添加一个空格即可。我已经用
/^[()0-9+-?]+$/
尝试过了。这对我很有用。
string(17) "+1 (234) 567-8900"
string(12) "+12345678900"
int(1)