Javascript 我无法将输入值与正则表达式模式进行比较

Javascript 我无法将输入值与正则表达式模式进行比较,javascript,jquery,validation,Javascript,Jquery,Validation,我正在尝试验证我的注册页面,但我无法。。。 我面临的问题是无法将输入值与正则表达式模式进行比较。页面不显示任何消息,但当我写入alert时,当我单击submit按钮时,页面显示alert 这是代码 $(document).ready(function(){ $("#reg-btn").click(function () { var valuee = $("#mail").val(); var emailRegex = '^[A-Z0-9._%+-]+@[A

我正在尝试验证我的注册页面,但我无法。。。 我面临的问题是无法将输入值与正则表达式模式进行比较。页面不显示任何消息,但当我写入
alert
时,当我单击submit按钮时,页面显示alert

这是代码

$(document).ready(function(){
    $("#reg-btn").click(function () {
        var valuee = $("#mail").val();
        var emailRegex = '^[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}$'; 

        if (emailRegex.test(valuee)) {
            alert('Great, you entered an E-Mail-address');
        }
        else{
            alert("invalid");
        }

    });
});

您的代码面临的一个直接问题是:-

var emailRegex = '^[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}$'; 
因为它是正则表达式,所以不能将其视为字符串

将其更改为:-

var emailRegex = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}$/; 
***同样正确,请按如下方式更改:-

var emailRegex= /^\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b$/i;
工作示例:-

$(文档).ready(函数(){
$(“#注册btn”)。单击(函数(){
var valuee=$(“#邮件”).val();
var emailRegex=/^\b[A-Z0-9.\uz0%-]+@[A-Z0-9.-]+\[A-Z]{2,4}\b$/i;
if(emailRegex.test(valuee)){
警报(“很好,您输入了正确的电子邮件地址”);
}
否则{
警报(“无效”);
}
});
});




页面不显示任何消息
:-它仅在您发出警报或尝试在某个位置添加一些文本以便浏览器可见时显示消息。你可以发布你的html,然后让我们知道你想在哪里准确地显示信息,你面临的问题是什么?你想实现什么?请详细说明您的问题您是否在浏览器控制台中收到任何错误消息?如果您的警报正常工作,则它也会显示您的消息。
emailRegex
是字符串,而不是正则表达式。如果你检查控制台,你会看到一个错误。将其更改为实际的正则表达式:
var-emailRegex=/^[A-Z0-9.[UZ0%+-]+@[A-Z0-9.-]+[A-Z]{2,4}$/现在即使我写了正确格式的电子邮件,也会显示无效消息address@AdnanSunny您的正则表达式不适合检查邮件。我已经在我的解决方案示例检查中给出了另一个。@AdnanSunny我已经将您的正则表达式更改为正确的正则表达式。现在检查更新的答案