Javascript Regex - 查找脚本中是否只允许使用字符

时间:2012-07-17 16:32:10

标签: javascript regex

我正在尝试编写一个Java Script正则表达式来匹配,如果一个字符串只包含以下方式允许的字符 -

  1. 字符串中只能包含0,1,x或逗号(,)。
  2. 每个数字(0,1或“x”)应以逗号(,)
  3. 分隔
  4. 至少应有一个逗号分隔值(即“0,1”或“0,x,1”)
  5. 逗号应始终用数字或“x”包围(即“,”或“,0”无效)
  6. 是否可以为此条件编写正则表达式?我能够使用java脚本字符串拆分来做到这一点,但这对我来说并不优雅。希望有人可以帮助提出一个正则表达式以上的条件。

1 个答案:

答案 0 :(得分:3)

虽然我同意@SomeKittens你应该展示你的尝试,但至少提供了一个相当详细的规范。根据我对它的理解,你可以使用这样的东西:

var isValid = /^(?:[01x],)+[01x]$/.test(str);

匹配其中任何一个:

  • 0,1
  • 0,1,1
  • 0,X,0,0

这些都不是:

  • 0
  • 0,
  • 0,1,
  • ,1
  • 0,...,1
  • 0,X(大写X)

如果除了小写之外还要允许匹配大写的X,请将/i标志添加到正则表达式中以进行不区分大小写的匹配。