Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 尝试验证电子邮件地址时IE7出现正则表达式问题_Regex_Internet Explorer 7 - Fatal编程技术网

Regex 尝试验证电子邮件地址时IE7出现正则表达式问题

Regex 尝试验证电子邮件地址时IE7出现正则表达式问题,regex,internet-explorer-7,Regex,Internet Explorer 7,我想知道一个恼人的问题,电子邮件验证使用正则表达式。 我正在使用此正则表达式验证网页上的电子邮件地址: ^\s*[a-zA-Z0-9_\+-]{1,63}(\.[a-zA-Z0-9_\+-]{1,63})*@(?=[a-zA-Z0-9-\.]{0,255}\.?\s*$)[a- zA-Z0-9-]{1,63}(\.[a-zA-Z0-9-]{1,63}){0,126}\.([a-zA-Z]{2,63})\.?\s*$ 现在,它可以与IE8->和最新的Mozilla和Opera版本配合使用。 我已

我想知道一个恼人的问题,电子邮件验证使用正则表达式。 我正在使用此正则表达式验证网页上的电子邮件地址:

^\s*[a-zA-Z0-9_\+-]{1,63}(\.[a-zA-Z0-9_\+-]{1,63})*@(?=[a-zA-Z0-9-\.]{0,255}\.?\s*$)[a- zA-Z0-9-]{1,63}(\.[a-zA-Z0-9-]{1,63}){0,126}\.([a-zA-Z]{2,63})\.?\s*$
现在,它可以与IE8->和最新的Mozilla和Opera版本配合使用。 我已经读过这篇文章:

但即使是我也无法让它工作。任何RegEx大师都知道我做错了什么。 我也试过:

^\s*[a-zA-Z0-9_\+-]{1,63}(\.[a-zA-Z0-9_\+-]{1,63})*@(?=.*[a-zA-Z0-9-\.]{0,255}\.*?\s*$)[a- zA-Z0-9-]{1,63}(\.[a-zA-Z0-9-]{1,63}){0,126}\.([a-zA-Z]{2,63})\.*?\s*$

但是没有成功。

是最后一组

@(?=[a-zA-Z0-9-\.]{0,255}\.?\s*$)[a- zA-Z0-9-]{1,63}

就在那之后-故意的?这可能不适用于保守的引擎。

是最后一组引擎中的空间

@(?=[a-zA-Z0-9-\.]{0,255}\.?\s*$)[a- zA-Z0-9-]{1,63}

就在那之后-故意的?对于保守的引擎,这可能不起作用。

我得到了这个正则表达式,它似乎做得很好:

const string myRegex = @"^(([\w-]+\.)+[\w-]+|([a-zA-Z]{1}|[\w-]{2,}))@"
        + @"((([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\."
        + @"([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])){1}|"
        + @"([a-zA-Z]+[\w-]+\.)+[a-zA-Z]{2,4})$";

我得到了这个正则表达式,它似乎做得很好:

const string myRegex = @"^(([\w-]+\.)+[\w-]+|([a-zA-Z]{1}|[\w-]{2,}))@"
        + @"((([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\."
        + @"([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])){1}|"
        + @"([a-zA-Z]+[\w-]+\.)+[a-zA-Z]{2,4})$";

您是否尝试过完全删除“向前看”?我同意@Gerben的观点,即它在您的正则表达式中没有任何用途:

^\s*[a-zA-Z0-9_\+-]{1,63}(\.[a-zA-Z0-9_\+-]{1,63})*@[a-zA-Z0-9-]{1,63}(\.[a-zA-Z0-9-]{1,63}){0,126}\.([a-zA-Z]{2,63})\.?\s*$

您是否尝试过完全删除“向前看”?我同意@Gerben的观点,即它在您的正则表达式中没有任何用途:

^\s*[a-zA-Z0-9_\+-]{1,63}(\.[a-zA-Z0-9_\+-]{1,63})*@[a-zA-Z0-9-]{1,63}(\.[a-zA-Z0-9-]{1,63}){0,126}\.([a-zA-Z]{2,63})\.?\s*$

前瞻的功能是什么?我看不出这种情况有什么用处。只需从互联网上复制粘贴一个电子邮件正则表达式,就像“前瞻”的功能是什么?我看不出这种情况有什么用处。只需从internet复制粘贴电子邮件正则表达式,就像从