()[\]\\.,;:\s@\"]+)*)|(\".+\-6ren">
gpt4 book ai didi

javascript - .NET 和 javascript 之间正则表达式 anchor 的差异

转载 作者:行者123 更新时间:2023-12-01 04:06:50 25 4
gpt4 key购买 nike

在我的前端,我有一个 JavaScript 正则表达式来检测电子邮件是否正确。

^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$

.NET 上当前后端正则表达式验证是:

Regex.IsMatch(email, @"\A(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)\Z", RegexOptions.IgnoreCase);

想用 javascript 正则表达式替换 .NET 正则表达式但我真的“迷失”在开始/结束字符中。

在 .NET 正则表达式中,\A\Z^$< 具有相同的实用程序 在我的 javascript 中?

我尝试按如下方式替换我的 .NET 正则表达式,但它没有检测到有效字符串,即使在 Javascript 中它是正确的:

Regex.IsMatch(email, @"\A(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))\Z", RegexOptions.IgnoreCase);

最佳答案

^ -   The match must occur at the beginning of the string or line. 
$ - The match must occur at the end of the string or line, or before \n at the end of the string or line.
\A - The match must occur at the beginning of the string only (no multiline support).
\Z - The match must occur at the end of the string, or before \n at the end of the string.

关于javascript - .NET 和 javascript 之间正则表达式 anchor 的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41749194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com