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)