javascript - Javascript Regex - 查找脚本中是否仅存在允许的字符

标签 javascript regex

我正在尝试编写一个 Java 脚本正则表达式来匹配字符串是否仅包含允许的字符,方法如下 -

  1. 字符串中只能包含 0、1、x 或逗号 (,)。
  2. 每个数字(0、1 或“x”)应以逗号 (,) 分隔
  3. 应至少有一个逗号分隔值(即“0,1”或“0,x,1”)
  4. 逗号应始终被数字或“x”包围(即“,”或“,0”无效)

是否可以为这种情况编写正则表达式?我可以使用java脚本字符串分割来做到这一点,但这对我来说并不优雅。希望有人能帮忙想出一个满足上述条件的正则表达式。

最佳答案

虽然我同意@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 标志添加到正则表达式中以进行不区分大小写的匹配。

关于javascript - Javascript Regex - 查找脚本中是否仅存在允许的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11526897/

相关文章:

javascript - 如何设置单击特定单选按钮时需要的选择表单?

javascript - Angularjs:如何使 ui-select 只有一种模型绑定(bind)方式?

javascript - 了解 jquery 和 ajax

javascript - 如何在 EJS 文件中使用 MySQL 进行查询

javascript - 使用正则表达式定位 HTML 标记内的属性

regex - 使用 sed 时缺少空格

JavaScript、JQuery。需要帮助从我的 JSON 中获取 'name'

Java 正则表达式卡在一条长绳上

java - 正则表达式的替代(流利?)接口(interface)的设计

mysql - 整个单词的正则表达式,包括标点符号