Javascript 使用JQuery和PHP进行电话字段验证

Javascript 使用JQuery和PHP进行电话字段验证,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我有一个带有简单jQuery验证的联系人表单,并使用Php发送表单内容。我正在尝试包括电话字段验证。JavaScript在验证电话字段和自动格式化/更正/完成电话字段时工作正常。但是,Php脚本不起作用。如果我删除phoneNumber字段,效果很好 (函数($){ “严格使用”; /*警报框 * ------------------------------------------------------ */ var clalertbox=函数(){ $('.alert-box')。在('c

我有一个带有简单jQuery验证的联系人表单,并使用Php发送表单内容。我正在尝试包括电话字段验证。JavaScript在验证电话字段和自动格式化/更正/完成电话字段时工作正常。但是,Php脚本不起作用。如果我删除phoneNumber字段,效果很好

(函数($){
“严格使用”;
/*警报框
* ------------------------------------------------------ */
var clalertbox=函数(){
$('.alert-box')。在('click','.alert-box__-close',函数()上{
$(this.parent().fadeOut(500);
}); 
};
/*联系方式
* ------------------------------------------------------ */
var clContactForm=函数(){
/*本地验证*/
$(“#contactForm”)。验证({
/*通过ajax提交*/
submitHandler:函数(表单){
var sLoader=$('.submit loader');
$.ajax({
类型:“POST”,
url:“inc/sendmail.php”,
数据:$(表单).serialize(),
beforeSend:function(){
sLoader.slideDown(“慢”);
},
成功:功能(msg){
//消息已发送
如果(msg=='OK'){
sLoader.slideUp(“慢”);
$('.message warning').fadeOut();
$(“#contactForm”).fadeOut();
$('.message success').fadeIn();
}
//有一个错误
否则{
sLoader.slideUp(“慢”);
$('.message warning').html(msg);
$('.message warning')。向下滑动(“慢速”);
}
},
错误:函数(){
sLoader.slideUp(“慢”);
$('.message warning').html(“出现问题!请重试”);
$('.message warning')。向下滑动(“慢速”);
}
});
}
});
};
})(jQuery)
字段集{
保证金:0;
填充:0;
}
.信息警告,
.信息成功{
显示:无;
背景:#111111;
字体大小:1.5rem;
线高:2;
填充:3rem;
保证金底部:3.6雷姆;
宽度:100%;
}
.信息警告{
颜色:#ff6163;
}
.信息成功{
颜色:#39b54a;
}
.message警告i、.message成功i{
右边距:10px;
字号:1.2rem;
}
/*表格加载器
* ----------------------------------------------- */
.提交加载器{
显示:无;
位置:相对位置;
左:0;
顶部:1.8rem;
宽度:100%;
文本对齐:居中;
边缘底部:3rem;
}
.提交加载器.文本加载器{
显示:无;
字体系列:“蒙特塞拉特常规”,无衬线;
字体大小:1.3rem;
字体大小:粗体;
线高:1.846;
颜色:#666666;
字母间距:.2em;
文本转换:大写;
}
.oldie.submit loader.s-loader{
显示:无;
}
.oldie.submit loader.text loader{
显示:块;
}
/* --------------------------------------------------------------- 
*##加载程序动画
* --------------------------------------------------------------- */
s型装载机{
保证金:1.2rem自动3rem;
宽度:70px;
文本对齐:居中;
-webkit转换:translateX(0.45rem);
-ms变换:translateX(0.45rem);
转换:translateX(0.45rem);
}
.s-loader>div{
宽度:9px;
高度:9px;
背景色:#FFFFFF;
边界半径:100%;
显示:内联块;
保证金权利:.9rem;
-webkit动画:BouncedLay 1.4s无限轻松进出;
动画:bouncedelay 1.4s无限轻松进出;
}
.s-loader.bounce1{
-webkit动画延迟:-0.32s;
动画延迟:-0.32s;
}
.s-loader.bounce2{
-webkit动画延迟:-0.16s;
动画延迟:-0.16s;
}
您可以
preg_match()
验证10位手机号码:

preg_match('/^[0-9]{10}+$/', $mobile)

问题解决了。。我将inputmask更改为这种格式(“999-999-9999”),然后还对Php进行了更改,以匹配js inputmask,如下所示:

if(!preg_match('/^[0-9]{3}-[0-9]{3}-[0-9]{4}$/', $phone)) { 
$error['phone']=“请输入有效的电话号码。”;
}

试试这个方法:

function validating($phone){
    $valid_number = filter_var($phone, FILTER_SANITIZE_NUMBER_INT);
    $valid_number = str_replace("-", "", $valid_number);
    if (strlen($valid_number) < 10 || strlen($valid_number) > 14) {
    echo "Invalid Number <br>";
    } else {
    echo "Valid Number <br>";
    }
}
$phone = "(999) 999-9999";
validating($phone);
功能验证($phone){
$valid\u number=filter\u var($phone,filter\u SANITIZE\u number\u INT);
$valid\u number=str\u replace(“-”,“”,$valid\u number);
如果(strlen($valid|u number)<10 | strlen($valid|u number)>14){
回显“无效号码
”; }否则{ 回显“有效号码
”; } } $phone=“(999)999-9999”; 验证(电话);
感谢您的快速回答,好吧,那么preg match验证就是罪魁祸首?我尝试验证的电话格式是(999)999-9999