regex检查用户是否写了正确的格式输入

Javascript - regex to check if user write correct formated input

本文关键字:格式 输入 检查 用户 是否 regex      更新时间:2023-09-26

在我的CLI中,用户可以指定他们想要使用的内容:用户命令可以像这样:

include=name1,name2,name3
category=name1,name2
category=name1

换句话说,一个命令总是由3部分组成:

  1. 命令名:只能是includecategory
  2. =:在每个
  3. 命令中
  4. 名称或他们想要使用的东西的名称,按,分割

我如何测试它总是为真,而在其他所有情况下都为假呢?

我真的不擅长正则表达式,但我试过这样做:

/'category|include='w/.test(str);

简单地测试,至少,最简单的替代方案是category=name1,但没有成功。

有人能帮我一下吗?

你走对了路。这是一个固定的正则表达式:

/^(category|include)='w+(,'w+)*$/.test(str);

注意:

  • 可选部件周围的父级
  • 'w之后的+,这样你可以有几个字符
  • 可选的(,'w+)*
  • 字符串标记的开始和结束(^$),以便检查整个字符串

您可以为您的需求使用这个正则表达式:

/^(category|include)=('w+(?:,'w+)*)$/

RegEx演示

'w+(?:,'w+)*)=之后的值部分将允许1个或多个逗号分隔的单词