正则表达口味翻译

时间:2011-05-05 14:40:23

标签: javascript asp.net regex

我想知道是否有一个很好的工具可以将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();

            }

        });

2 个答案:

答案 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

希望帮助