[英]Want to validate my email and telephone
我需要使我的電子郵件和電話經過聯系表單的驗證。.那里有用於電子郵件的代碼,但是它不正確,並且不是正確的幫助方法! 我知道它需要說:
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);
}
電子郵件正則表達式: http : //www.regexlib.com/Search.aspx? k = email
電話正則表達式: http : //www.regexlib.com/Search.aspx? k = telephone
使用正則表達式和jQuery來驗證字段: https : //stackoverflow.com/a/709358/2646455
因此您可以執行以下操作:
$.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
一次,即可使regex驗證選項可用。 然后,為要應用於每個字段的每個驗證規則調用最后一行一次(可以將多個驗證規則應用於單個字段)。
var atposition = email.indexOf("@"); //email = $('#email').val();
var dotposition = email.lastIndexOf(".");
if (atposition<1 || dotposition<atposition+2 || dotposition+2>=email.length)
{
//Invalid Email Code
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.