-6ren">
gpt4 book ai didi

javascript - 单行电子邮件正则表达式有效,但多行版本无效

转载 作者:行者123 更新时间:2023-11-29 21:13:04 24 4
gpt4 key购买 nike

我找到了 this电子邮件的正则表达式。我试图把它变成多行版本。但是在我这样做之后它就停止工作了:

const emailOne = /^(([^<>()\[\]\\.,;:\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,}))$/

const email = RegExp(
/* eslint-disable */
'^(([^<>()\[\]\\.,;:\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,}))$'
/* eslint-enable */
)

emailOne.test('abc@gmail.com')

emailTwo.test('abc@gmail.com')

emailOne 返回 trueemailTwo 返回 false。为什么会是这个原因?

编辑:

我意识到 RegExp 修改了原始正则表达式(破坏了它):

// regex created by RegExp
/^(([^<>()[]\.,;: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,}))$/

// emailOne
/^(([^<>()\[\]\\.,;:\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,}))$/

最佳答案

您的第一个正则表达式是用正则表达式指定的。你的第二个是用字符串指定的,你忽略了用另一个反斜杠转义反斜杠。 \\

关于javascript - 单行电子邮件正则表达式有效,但多行版本无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40779336/

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