首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >preg_match接受0个字符或介于50到100之间

preg_match接受0个字符或介于50到100之间
EN

Stack Overflow用户
提问于 2019-01-07 22:01:13
回答 3查看 114关注 0票数 1

我正在尝试编写一个可接受空字符串的正则表达式,或者,如果字符串不为空,则长度应在50到100个字符之间。因此,用户可以提交一个空白字段,或者,如果他选择填写数据,则该数据应在50到100个字符之间。

如何将其添加到下面的正则表达式中?

preg_match('/^[a-z0-9\s]{50,100}$/i',$str)

EN

回答 3

Stack Overflow用户

发布于 2019-01-07 22:06:16

试试正则表达式:^(?:[a-z0-9 ]{50,100})?$

Demo

票数 1
EN

Stack Overflow用户

发布于 2019-01-07 22:06:16

尝试将^$与添加到当前模式的替代项一起使用:

代码语言:javascript
复制
preg_match('/^$|^[a-z0-9\s]{50,100}$/i', $str)

我对此进行了测试,并接受了空字符串。否则,匹配的唯一方法是输入包含50到100个字母数字/空格字符。

票数 1
EN

Stack Overflow用户

发布于 2019-01-07 22:40:06

我将首先修剪()它,然后将您的规则集应用于输入,比如删除输入中的多个(空格|制表符|等),然后验证输入,这样您就可以得到您想要的结果,或者返回表单并让他们修复输入。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54075859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档