Хотите подтвердить мою электронную почту и телефон
Мне нужно, чтобы моя электронная почта и телефон были подтверждены для контактной формы. Там есть код для электронной почты, но он неправильный и не совсем правильный способ помочь! я знаю, что это должно было быть сказано:
if(email.length == 0 || email.indexOf('@') == '-1')
но я теперь уверен, как это сделать, я очень новичок в php, так что будь осторожен со мной:)
var error = false;
var name = $('#name').val();
var email = $('#email').val();
var subject = $('#subject').val();
var message = $('#message').val();
var tel = $('#tel').val();
// Form field validation
if(name.length == 0){
var error = true;
$('#name_error').fadeIn(500);
}else{
$('#name_error').fadeOut(500);
}
if(tel.length == 0){
var error = true;
$('#tel_error').fadeIn(500);
}else{
$('#tel_error').fadeOut(500);
}
if(email.length == 0 || email.indexOf('@') == '-1'){ **this is not the right way! help**
var error = true;
$('#email_error').fadeIn(500);
}else{
$('#email_error').fadeOut(500);
}
if(subject.length == 0){
var error = true;
$('#subject_error').fadeIn(500);
}else{
$('#subject_error').fadeOut(500);
}
if(message.length == 0){
var error = true;
$('#message_error').fadeIn(500);
}else{
$('#message_error').fadeOut(500);
}
if(tel.length == 0){
var error = true;
$('#tel_error').fadeIn(500);
}else{
$('#tel_error').fadeOut(500);
}
2 ответа
Регулярное выражение электронной почты: http://www.regexlib.com/Search.aspx?k=email
телефонное регулярное выражение: http://www.regexlib.com/Search.aspx?k=telephone
использование регулярных выражений и jquery для проверки полей: /questions/9549209/jquery-validate-kak-dobavit-pravilo-dlya-proverki-regulyarnogo-vyirazheniya/9549215#9549215
так что вы можете сделать что-то вроде этого:
$.validator.addMethod(
"regex",
function(value, element, regexp) {
var re = new RegExp(regexp);
return this.optional(element) || re.test(value);
},
"Please check your input."
);
$('#email').rules("add", { regex: "^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$" });
Вы можете следовать примеру других полей, применяя регулярное выражение (например, для телефона) или другие базовые проверки jquery.
ps нужно только позвонить $.validator.addMethod
один раз, чтобы сделать опцию проверки регулярных выражений доступной. Затем вы вызываете последнюю строку один раз для каждого правила проверки, которое вы хотите применить к каждому полю (вы можете применить более одного правила проверки к одному полю).
var atposition = email.indexOf("@"); //email = $('#email').val();
var dotposition = email.lastIndexOf(".");
if (atposition<1 || dotposition<atposition+2 || dotposition+2>=email.length)
{
//Invalid Email Code
}