PHP preg_match 用于验证 10 位手机号码
PHP preg_match for validating 10 digit mobile number
我正在尝试使用 PHP 函数 preg_match 验证 10 位手机号码。以下代码不会产生任何输出。
是正则表达式错误吗?或者我使用不当。
我在输出中期待 Hi True
。如果匹配或 Hi False
如果不匹配。
<?php
$value = '9987199871';
$mobileregex = "/^[1-9][0-9]{10}$/" ;
echo "Hi " . preg_match($mobileregex, $value) === 1; // @debug
?>
取自
的正则表达式
您声明的正则表达式将匹配 11 位数字,而不是 10 位。由于所有印度手机号码都以 9、8、7 或 6 开头,我们可以使用以下正则表达式:
^[6-9][0-9]{9}$
这是您更新的代码片段:
$value = '9987199871';
$mobileregex = "/^[6-9][0-9]{9}$/" ;
echo "Hi " . preg_match($mobileregex, $value) === 1;
请注意,在验证方面,上述正则表达式可能仍远未达到我们所能做到的最佳水平,但这至少是一个开始。
$mob = "9513574562";
if(preg_match("/^\d+\.?\d*$/",$mob) && strlen($mob)==10){
echo 1;
}else{
echo 0;
}
preg_match() 检查它是否为整数,并且在 strlen() 中检查此字符串中的数字。如果2个条件满足则为10位有效手机号
以下代码片段将检查手机号码是否在 10-15 位数字之间,包括开头的“+”和后跟 non-zero 第一个数字。
正则表达式
"/^[+]?[1-9][0-9]{9,14}$/"
代码片段
// Validation for the mobile field.
function validateMobileNumber($mobile) {
if (!empty($mobile)) {
$isMobileNmberValid = TRUE;
$mobileDigitsLength = strlen($mobile);
if ($mobileDigitsLength < 10 || $mobileDigitsLength > 15) {
$isMobileNmberValid = FALSE;
} else {
if (!preg_match("/^[+]?[1-9][0-9]{9,14}$/", $mobile)) {
$isMobileNmberValid = FALSE;
}
}
return $isMobileNmberValid;
} else {
return false;
}
}
^正则表达式的符号表示开始
[+]? 确保在开始时允许单个(或零)+ 符号
[1-9] 确保第一个数字是非零数字
[0-9]{9,14} 将确保有 9 到 14 个数字
$表示结束
对于巴基斯坦手机号码,正则表达式代码如下
^[9][2][3][0-9]{9}$
我正在尝试使用 PHP 函数 preg_match 验证 10 位手机号码。以下代码不会产生任何输出。
是正则表达式错误吗?或者我使用不当。
我在输出中期待 Hi True
。如果匹配或 Hi False
如果不匹配。
<?php
$value = '9987199871';
$mobileregex = "/^[1-9][0-9]{10}$/" ;
echo "Hi " . preg_match($mobileregex, $value) === 1; // @debug
?>
取自
的正则表达式您声明的正则表达式将匹配 11 位数字,而不是 10 位。由于所有印度手机号码都以 9、8、7 或 6 开头,我们可以使用以下正则表达式:
^[6-9][0-9]{9}$
这是您更新的代码片段:
$value = '9987199871';
$mobileregex = "/^[6-9][0-9]{9}$/" ;
echo "Hi " . preg_match($mobileregex, $value) === 1;
请注意,在验证方面,上述正则表达式可能仍远未达到我们所能做到的最佳水平,但这至少是一个开始。
$mob = "9513574562";
if(preg_match("/^\d+\.?\d*$/",$mob) && strlen($mob)==10){
echo 1;
}else{
echo 0;
}
preg_match() 检查它是否为整数,并且在 strlen() 中检查此字符串中的数字。如果2个条件满足则为10位有效手机号
以下代码片段将检查手机号码是否在 10-15 位数字之间,包括开头的“+”和后跟 non-zero 第一个数字。
正则表达式
"/^[+]?[1-9][0-9]{9,14}$/"
代码片段
// Validation for the mobile field.
function validateMobileNumber($mobile) {
if (!empty($mobile)) {
$isMobileNmberValid = TRUE;
$mobileDigitsLength = strlen($mobile);
if ($mobileDigitsLength < 10 || $mobileDigitsLength > 15) {
$isMobileNmberValid = FALSE;
} else {
if (!preg_match("/^[+]?[1-9][0-9]{9,14}$/", $mobile)) {
$isMobileNmberValid = FALSE;
}
}
return $isMobileNmberValid;
} else {
return false;
}
}
^正则表达式的符号表示开始
[+]? 确保在开始时允许单个(或零)+ 符号
[1-9] 确保第一个数字是非零数字
[0-9]{9,14} 将确保有 9 到 14 个数字
$表示结束
对于巴基斯坦手机号码,正则表达式代码如下
^[9][2][3][0-9]{9}$