我通过Javascript进行了电子邮件验证。我知道我们可以通过HTML进行验证,但是我需要使用Javascript。在此问题中使用了两种方法。首先是条件,其次是正则表达式匹配。如果输入的电子邮件有误,则会在其旁边显示一条错误消息,并且如果没有错误,则该表单将定向到PHP页面。就我而言,我输入了我希望从中收到错误的电子邮件,但它会立即定向到PHP页面,这是错误的。
我想要的应该没有'。'电子邮件的第一个和最后一个索引中的“ @”
应该有一个@和。按照通常的电子邮件结构
只能有1个@字符
包括所有字符。
这是html后面的我的javascript代码,
const name = document.getElementById('name')
const lname = document.getElementById('lname')
const co = document.getElementById('co')
const email = document.getElementById('email')
const form = document.getElementById('form')
const error1 = document.getElementById('error1')
const error2 = document.getElementById('error2')
const error3 = document.getElementById('error3')
const error4 = document.getElementById('error4')
form.addEventListener('submit', (e) => {
let messages = []
var re =/^[A-Za-z]+$/;
if(!name.value.match(re)){
messages.push('error')
var err1="Contains number";
}
else{
err1="";
}
if(!lname.value.match(re)){
messages.push('error')
var err2="Contains number";
}
else{
err2="";
}
var t=co.value;
//we have a problem in contact number
if(t[4]!='-'||t[8]!='-'||t[0]!=0||t[1]!=9||t.length!=13){
messages.push('error')
var err3="Must follow the format";
}
else{
err3="";
}
var m=email.value;
var r=email.value.length;
var atposition=email.indexOf("@");
var dotposition=email.lastIndexOf(".");
var i, count, dot1;
for(i=0; i<r; i++){
if(m[i]=='@'){
count++;
}
if(m[i]=='.'){
dot1++;
}
}
if(atposition<1||atposition==m[r-1]||count>1||dotposition==m[r-1]||m[0]=='.'||dot1==0||count==0){
messages.push('error')
err4.push('Must follow email format')
}
if (messages.length > 0) {
e.preventDefault()
error1.innerText = err1
error2.innerText = err2
error3.innerText = err3
error4.innerText = err4
}
})
这是我进行正则表达式匹配的方法:
var re=/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/
if(!email.value.match(re)){
messages.push('error')
err4.push('Must follow email format')
}
答案 0 :(得分:0)
try this one.
var mailformat = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]
{2,4})+$/;
var email = $('#email').val();
if(!mailformat.test(email_value)){
e.preventDefault();
$('#error-email-txt').html('Enter valid email address');
$('#error-email').css("display",'block');
}