Javascript 表单:在表单提交之前使用jQuery验证特殊情况

Javascript 表单:在表单提交之前使用jQuery验证特殊情况,javascript,html,jquery,forms,validation,Javascript,Html,Jquery,Forms,Validation,我需要在不使用任何特殊插件的情况下验证表单,只使用jQuery 我有一个禁用的提交按钮,我正在启用该按钮,如下所示: const getFields=$( '表单#查询组件表单输入,表单#查询组件表单文本区域,表单#查询组件表单选择' ).filter(“[必需]:可见”); getFields.on('input',()=>{ 让空=假; getFields.each(函数(){ 如果(!empty&&$(this).val()=''){ 空=真; } }); $(“#提交查询表”).prop

我需要在不使用任何特殊插件的情况下验证表单,只使用jQuery

我有一个禁用的提交按钮,我正在启用该按钮,如下所示:

const getFields=$(
'表单#查询组件表单输入,表单#查询组件表单文本区域,表单#查询组件表单选择'
).filter(“[必需]:可见”);
getFields.on('input',()=>{
让空=假;
getFields.each(函数(){
如果(!empty&&$(this).val()=''){
空=真;
}
});
$(“#提交查询表”).prop('disabled',空);
});
我遇到的问题是表单包含电话号码和电子邮件地址输入,因此当这两个输入不再为空时,“提交”按钮将启用。我需要他们首先匹配模式,然后启用submit按钮

以下是电话和电子邮件输入:



有什么想法吗?

你可以试试这样的。我添加了一个提交按钮,然后我们正在检查是否启用该按钮或不使用正则表达式


提交
const getFields=$(
“输入”
).filter(“[必需]:可见”);
getFields.on('input',()=>{
让空=假;
让patternMatch=true;
getFields.each(函数(){
console.log(“check”,$(this.val())
如果($(this).val().trim()=''){
空=真;
}
//检查正则表达式
if($(this.attr(“模式”)){
const regex=new RegExp($(this).attr(“pattern”);
patternMatch=regex.test($(this.val())
}
});
if(空| |!模式匹配){
console.log(“空或不匹配”)
$('#btn').attr('disabled',true);
}否则{
$('btn').removeAttr('disabled');
}
});

但是这里您没有验证电子邮件输入。@响应-对于电子邮件验证,代码仍然有效。您只需要为电子邮件提供一个“模式”属性,就像为手机提供的一样。该模式可以是类似于
[^@]+@[^@]+\.[a-zA-Z]{2,6}
的电子邮件验证正则表达式,如果您愿意,也可以是另一个。