我想知道是否有一个很好的工具可以将RegEx从.NET(C#)语法转换为Javascript,包括所有转义规则。我有一个RegEx,它在RegExValidator中的.NET中工作,但在Javascript中不起作用:
^\s*\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*\s*$
当使用下面的示例时,Javascript不喜欢RegEx中的叛逆,但.NET没有问题。
$('#<%= ContactEMail.ClientID %>').blur(function() {
if ((^\s*\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*\s*$)).test($(this).val())
{
$(this).next('span').show();
}
else
{
$(this).next('span').hide();
}
});
答案 0 :(得分:2)
您没有使用JavaScript文字;使用斜杠来分隔一个而不是括号:
if (/^\s*\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*\s*$/.test($(this).val()))
答案 1 :(得分:1)
试试这个:
var regexp = /^\s*\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*\s*$/g;
if ($(this).val().match(regexp))
$(this).next('span').show();
else
$(this).next('span').hide();
匹配信息:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/match
希望帮助