gpt4 book ai didi

regex - 电子邮件验证 - @ 之前和点之前的字符长度

转载 作者:行者123 更新时间:2023-12-05 01:10:11 25 4
gpt4 key购买 nike

我使用以下正则表达式模式来验证工作正常的电子邮件地址,但是我需要验证 @ 之前的字符长度,这应该 少于 4 个字符。对于 @ 之后和点 . 之前的字符长度,我应该采用相同的规则。

例如,此电子邮件地址有效:a@b.c

但是,这个应该是有效的:abcd@abcd.com

我该怎么做?

这是我目前的尝试:

<ui:define name="validation-tag">
<f:validateRegex
pattern="([\w\.-]*[a-zA-Z0-9_]@[\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z])*"
for="contactEmailAddress" />
</ui:define>

最佳答案

我们可以使用带有 anchor 的积极前瞻来施加长度限制。

^(?=[^@]{4,}@)([\w\.-]*[a-zA-Z0-9_]@(?=.{4,}\.[^.]*$)[\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z])$

^$ 将使字符串在开始和结束时匹配,然后 (?=[^@]{4,}@) 将确保我们在第一个 @ 之前至少有 4 个字符,并且 (?=.{4,}\.[^.]*$) 将使确保最后一个 . 之前的部分至少有 4 个符号长。

参见 demo

关于regex - 电子邮件验证 - @ 之前和点之前的字符长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30257463/

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