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
Email validation regular expression in cshtml using jquery pops error
提问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})?$/