我正在尝试编写一个可接受空字符串的正则表达式,或者,如果字符串不为空,则长度应在50到100个字符之间。因此,用户可以提交一个空白字段,或者,如果他选择填写数据,则该数据应在50到100个字符之间。
如何将其添加到下面的正则表达式中?
preg_match('/^[a-z0-9\s]{50,100}$/i',$str)
发布于 2019-01-07 22:06:16
试试正则表达式:^(?:[a-z0-9 ]{50,100})?$
发布于 2019-01-07 22:06:16
尝试将^$与添加到当前模式的替代项一起使用:
preg_match('/^$|^[a-z0-9\s]{50,100}$/i', $str)我对此进行了测试,并接受了空字符串。否则,匹配的唯一方法是输入包含50到100个字母数字/空格字符。
发布于 2019-01-07 22:40:06
我将首先修剪()它,然后将您的规则集应用于输入,比如删除输入中的多个(空格|制表符|等),然后验证输入,这样您就可以得到您想要的结果,或者返回表单并让他们修复输入。
https://stackoverflow.com/questions/54075859
复制相似问题