我正在尝试编写一个将接受空白字符串的正则表达式,或者,如果该字符串不是空白,则应介于50到100个字符之间。因此,用户可以提交一个空白字段,或者如果他选择填写数据,则该数据应介于50到100个字符之间。
如何将其添加到下面的正则表达式中?
preg_match('/^[a-z0-9\s]{50,100}$/i',$str)
答案 0 :(得分:6)
尝试使用正则表达式:^(?:[a-z0-9 ]{50,100})?$
答案 1 :(得分:1)
尝试使用^$
,并在当前模式中添加替换:
preg_match('/^$|^[a-z0-9\s]{50,100}$/i', $str)
我已经对此进行了测试,并且接受了空字符串。否则,唯一的匹配方法是输入50到100个字母数字/空格字符。
答案 2 :(得分:-1)
我先修剪(),然后将规则集应用于输入,例如删除输入中的multi(空格| tab | etc),然后验证输入,这样就可以得到所需的结果,或返回表单,让他们修改输入内容。