Php 正则表达式验证不起作用(电话和姓名)
即使我输入了无效的电话号码,我的正则表达式也会验证它并显示有效的消息。你知道怎么回事吗Php 正则表达式验证不起作用(电话和姓名),php,regex,validation,Php,Regex,Validation,即使我输入了无效的电话号码,我的正则表达式也会验证它并显示有效的消息。你知道怎么回事吗 <form action="<?php $PHP_SELF; ?>" method="POST"> Name (First Middlie Last) : <input type="text" name="name" value=""><br /> Telephone Number : <input type="text" name="phone" va
<form action="<?php $PHP_SELF; ?>" method="POST">
Name (First Middlie Last) : <input type="text" name="name" value=""><br />
Telephone Number : <input type="text" name="phone" value=""><br />
<input type="submit">
</form>
<?php } else {
extract($_REQUEST);
$phoneDashes = preg_replace("/\D/","", $phone);
$nameRegex = $_POST['name'];
if(preg_match("/(\d{3})(\d{3})(\d{4})/", $phoneDashes,$matches)) {
echo "Valid phone number <br />";
}
else {
echo "Not a valid phone number <br />";
}
preg_match("/(^[\-a-z]+)\s([\-a-z])\s([\-a-z]+)$/i", $nameRegex,$names);
echo "Your name: $names[3], $names[2] $names[1] <br />";
echo "Your phone Number: $matches[1]-$matches[2]-$matches[3] <br />";
}
?>
试试看
$match=preg_match(“/(\d{3})(\d{3})(\d{4})/”,$phoneDashes,$matches);
如果($match){
回显“有效电话号码
”;
}
否则{
echo“不是有效的电话号码
”;
}
试试看
$match=preg_match(“/(\d{3})(\d{3})(\d{4})/”,$phoneDashes,$matches);
如果($match){
回显“有效电话号码
”;
}
否则{
echo“不是有效的电话号码
”;
}
您需要^
和$
锚。试试这个:
if(preg_match('/^(\d{3})(\d{3})(\d{4})$/',$phoneDashes,$matches))
//有效电话号码
其他的
//电话号码无效
您需要^
和$
锚。试试这个:
if(preg_match('/^(\d{3})(\d{3})(\d{4})$/',$phoneDashes,$matches))
//有效电话号码
其他的
//电话号码无效
if语句中使用了什么字符串?电话号码字符串?这就是问题所在吗?不,您使用了什么值来得到错误的结果?您在if
语句中使用了什么字符串?电话号码字符串?这就是问题所在吗?不,你用什么值得到了错误的结果?嗯。。不,那也不行。不管我输入什么,上面都写着有效数字。还有什么建议吗?谢谢你的帮助,太棒了。是的,它有效。你愿意帮我解决我的另一个php问题吗?如果你感兴趣的话,我愿意给你出个价。给我你的skype/邮件给你发送了一封电子邮件。您可以立即删除您的电子邮件(评论)。。不,那也不行。不管我输入什么,上面都写着有效数字。还有什么建议吗?谢谢你的帮助,太棒了。是的,它有效。你愿意帮我解决我的另一个php问题吗?如果你感兴趣的话,我愿意给你出个价。给我你的skype/邮件给你发送了一封电子邮件。您现在可以删除您的电子邮件(评论)
$match = preg_match("/(\d{3})(\d{3})(\d{4})/", $phoneDashes,$matches);
if($match) {
echo "Valid phone number <br />";
}
else {
echo "Not a valid phone number <br />";
}