为了账号安全,请及时绑定邮箱和手机立即绑定

最少 1 个字符,最少 4 个字符,最多 50 个字符

最少 1 个字符,最少 4 个字符,最多 50 个字符

PHP
慕斯709654 2021-11-05 10:30:15
我没有使用mb_strlenand preg_match,而是尝试设计一个纯粹的正则表达式解决方案,这样我就可以通过一个函数来传递所有内容来缩短我的代码。最小可能输入(数字字符仅用于演示数量)1@1234最大可能输入(数字字符仅用于演示数量)123456789012345678901234567890123456789012345@12341@123456789012345678901234567890123456789012345678以及介于两者之间的一切 123456790@123456789012345678901234567890123456789我设计的当前模式是^.{1,}?@.{4,}?$,但我不确定如何将总字符数限制为 50?我尝试过捕获和分组所有内容(例如(^.{1,}?@.{4,}?$){,50}, [^.{1,}?@.{4,}?$]{,50}),但这些显然不起作用。
查看完整描述

1 回答

?
呼如林

TA贡献1798条经验 获得超3个赞

您可以尝试在模式的开头添加一个否定前瞻,断言总共出现不超过 50 个字符:

^(?!.{51,}).{1,}?@.{4,}?$

演示


否定前瞻(?!.{51,})字面上断言我们不到 51 个或更多字符,这意味着存在50 个或更少字符。


查看完整回答
反对 回复 2021-11-05
  • 1 回答
  • 0 关注
  • 196 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信