javascript - 仅一个字符 (*) 或其他字母数字的正则表达式

标签 javascript regex

我在正则表达式中有一个条件,限制是 8 个字符,它应该接受数字、字母和 ? ,如果我们在字段中输入 * ,它应该给出错误。

或者如果我们在输入字段中输入 *。整个字段应该只接受一个 *,除此之外没有其他。

例如:*相当于wer?23w4

正则表达式是:

/[a-zA-Z0-9?]{8}/

最佳答案

您可以使用交替运算符 (|) 来指定非此即彼条件。对于您的情况:

/\*|[a-zA-Z0-9?]{8}/

这意味着匹配:

  • 单个 * 字符,没有其他
  • 或者,正好由小写字母、大写字母、数字或 组成的八个字符?

注意,根据您在代码中使用它的方式,您可能需要添加 anchor ^$,以确保它针对整个字段进行测试:

/^(?:\*|[a-zA-Z0-9?]{8})$/

Regular expression visualization

Debuggex Demo

关于javascript - 仅一个字符 (*) 或其他字母数字的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35644363/

相关文章:

javascript - 是否验证 3 位数

javascript - 未捕获的类型错误 - 无法读取 null 的属性 'owlcarousel'

Ruby 使用 RegEx 在字符串中查找整个数学表达式

c++ - 为什么 boost 正则表达式用完了堆栈空间?

php - 如何在 Laravel 5.4 中验证文件名

javascript - 使用正则表达式在 Javascript 中形成一个没有前导零的数字

javascript - D3 多轴条形图和线性图

javascript - Highcharts - 'area' 和 'column' 填充类型的自动最小/最大范围未正确设置

php - Wordpress:如果我想从 javascript 文件调用我的 php 脚本,该把它放在哪里?

javascript - 如何在vuejs中使用axios模块化rest api调用