求帮忙写一个正则表达式

字符串可能具有以下几种情况:

string|requiredIf:type,mobile|max:9|min:9|mobile

string|required|max:9|min:9|mobile

string|max:9|min:9|mobile|required

required|string|max:9|min:9|mobile

string|max:9|min:9|mobile

现在需要判断字符串中仅包含 required 的情况,我是做php开发的,现在用strpos有可能误判 requiredIf 了,因此想用个正则解决问题,但对正则不熟,求高手帮忙看看正则能否解决问题,谢谢。

阅读 1.8k
2 个回答
var arr = [
'string|requiredIf:type,mobile|max:9|min:9|mobile',

'string|required|max:9|min:9|mobile',

'string|max:9|min:9|mobile|required',

'required|string|max:9|min:9|mobile',

'string|max:9|min:9|mobile'
];
var reg = /(?<=^|\|)required(?=$|\|)/
arr.filter(item => reg.test(item))

什么叫做 仅包含required的,是指字符串中过滤出有required的?
还是指开始required的?
如果是这样的话,规则式很好处理啊
/^required\|.*/ 即可

如果required不是在开始,则:
/|?required\|?.*/ 即可

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进