我无法在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);
}
答案 0 :(得分:12)
手机号码验证
您可以preg_match()
验证10位数的手机号码:
preg_match('/^[0-9]{10}+$/', $mobile)
在函数中调用它:
function validate_mobile($mobile)
{
return preg_match('/^[0-9]{10}+$/', $mobile);
}
电子邮件验证
您可以filter_var()
与FILTER_VALIDATE_EMAIL
一起使用来验证电子邮件:
$email = test_input($_POST["email"]);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailErr = "Invalid email format";
}
在函数中调用它:
function validate_email($email)
{
return filter_var($email, FILTER_VALIDATE_EMAIL);
}
但是,filter_var
会在成功时返回过滤后的值,并在失败时返回false
。
http://www.w3schools.com/php/php_form_url_email.asp的更多信息。
或者,您也可以使用preg_match()
发送电子邮件,模式如下:
preg_match('/^[A-z0-9_\-]+[@][A-z0-9_\-]+([.][A-z0-9_\-]+)+[A-z.]{2,4}$/', $email)
答案 1 :(得分:0)
您可以在下面使用此正则表达式来验证手机号码。
\+ 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}/';
答案 2 :(得分:0)
对于印度:印度的所有移动电话号码均以基于GSM,WCDMA和LTE技术的9、8、7或6开头。
function validate_mobile($mobile)
{
return preg_match('/^[6-9]\d{9}$/', $mobile);
}
if(validate_mobile(6428232817)){
echo "Yes";
}else{
echo "No";
}
//输出将是