PHP中的手机号码验证模式

PHP中的手机号码验证模式,php,Php,我无法用PHP编写10位手机号码(1234567890格式)的确切模式。电子邮件验证正在工作 代码如下: function validate_email($email) { return eregi("^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z] {2,6}$", $email); } function validate_mobile($mobile) { return eregi("/^[0-9]*$/", $mob

我无法用PHP编写10位手机号码(1234567890格式)的确切模式。电子邮件验证正在工作

代码如下:

function validate_email($email)
{
return eregi("^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]    {2,6}$", $email);
}

function validate_mobile($mobile)
{
  return eregi("/^[0-9]*$/", $mobile);
}

手机号码验证

您可以
preg_match()
验证10位手机号码:

preg_match('/^[0-9]{10}+$/', $mobile)
要在函数中调用它,请执行以下操作:

function validate_mobile($mobile)
{
    return preg_match('/^[0-9]{10}+$/', $mobile);
}
function validate_email($email)
{
    return filter_var($email, FILTER_VALIDATE_EMAIL);
}
电子邮件验证

您可以使用
filter\u var()
filter\u VALIDATE\u EMAIL
来验证电子邮件:

$email = test_input($_POST["email"]);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
  $emailErr = "Invalid email format"; 
}
要在函数中调用它,请执行以下操作:

function validate_mobile($mobile)
{
    return preg_match('/^[0-9]{10}+$/', $mobile);
}
function validate_email($email)
{
    return filter_var($email, FILTER_VALIDATE_EMAIL);
}
但是,
filter\u var
将在成功时返回筛选值,在失败时返回
false

更多信息请访问

或者,您也可以对电子邮件使用
preg_match()
,模式如下:

preg_match('/^[A-z0-9_\-]+[@][A-z0-9_\-]+([.][A-z0-9_\-]+)+[A-z.]{2,4}$/', $email)

您可以使用下面的正则表达式验证移动电话号码

\+ Require a + (plus signal) before the number
[0-9]{2} is requiring two numeric digits before the next
[0-9]{10} ten digits at the end.
/s Ignores whitespace and break rows.

$pattern = '/\+[0-9]{2}+[0-9]{10}/s';

OR for you it could be:

$pattern = '/[0-9]{10}/s';

If your input text won't have break rows or whitespaces you can simply remove the 's' at the end of our regex, and it will be like this:

$pattern = '/[0-9]{10}/';

印度版:印度所有手机号码都以9、8、7或6开头,这些号码基于GSM、WCDMA和LTE技术


//输出将是

eregi
已弃用。使用
preg_match
请注意,PHP的
eregi()
函数已被弃用(并且已从最新版本中完全删除)。你应该停止使用它,转而使用
preg\u match()
函数。一句忠告:慷慨地输入电话号码。允许用户插入破折号或点、括号和空格。验证时,删除这些额外字符,并检查剩余字符串是否包含正确数量的数字。如果您允许使用国家代码,请允许在前面添加一个
+
00
,并考虑到这可能会改变数字其余部分的规则(例如删除前导的0)。@sanzuu:这不是替换函数名的简单情况。两者的语法不同。在SO和web上的其他地方都有很多例子来解释如何进行转换。这不是一个复杂的更改,但它不仅仅是替换掉函数名。@sanzuu:“eregi将来会有问题吗?”是的。看见它声明:警告此函数在PHP5.3.0中被弃用,在PHP7.0.0中被删除。太好了。。。!!!!!!它正在工作。使用eregi()进行电子邮件验证,使用preg_match()进行移动验证。@sanzuu对于电子邮件验证,您可以使用
FILTER_VALIDATE_email
,将在mincan中更新更多信息。您可以使用preg_match()编写电子邮件验证模式。当我用preg_match()替换eregi()时,它不起作用。@sanzuu更新了帖子,加入了
preg_match()
模式