jQuery cshtml中使用jquery弹出错误的电子邮件验证正则表达式

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/17487403/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-26 19:11:31  来源:igfitidea点击:

Email validation regular expression in cshtml using jquery pops error

jqueryregexasp.net-mvc-4razor

提问by Mr.BK

While validating email textbox using regex and jquery in shtml page, error pops showing issue with regex as it contains "@" in the regex.

在 shtml 页面中使用正则表达式和 jquery 验证电子邮件文本框时,错误弹出显示正则表达式问题,因为它在正则表达式中包含“@”。

$(document).ready(function() {

$('#btn-submit').click(function() { 

    $(".error").hide();
    var hasError = false;
    var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;   //"@" in regex is the issue

    var emailaddressVal = $("#UserEmail").val();
    if(emailaddressVal == '') {
        $("#UserEmail").after('<span class="error">Enter email address.</span>');
        hasError = true;
    }

    else if(!emailReg.test(emailaddressVal)) {
        $("#UserEmail").after('<span class="error">Enter a valid email address.</span>');
        hasError = true;
    }

    if(hasError == true) { return false; }

   });
});

回答by Satpal

@@is escape sequence in MVC, it will render as @

@@是MVC中的转义序列,它将呈现为 @

var emailReg = /^([\w-\.]+@@([\w-]+\.)+[\w-]{2,4})?$/;

above statement will be rendered as

上面的语句将呈现为

var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;

回答by oleksiy

use utf-8 code instead of @

使用 utf-8 代码代替 @

/^([\w-\.]+\u0040([\w-]+\.)+[\w-]{2,4})?$/

/^([\w-\.]+\u0040([\w-]+\.)+[\w-]{2,4})?$/