Javascript 模式验证

标签 javascript regex validation

请有人帮我用正则表达式来验证这种模式的字符串

aaa [bbb]

我想要以上述格式输入。 aaa & bbb 可以是一个或多个单词的任意组合,也可以包含特殊字符。 bbb 必须包含在方括号内 ([...])。完整的字符串可以有前导空格或尾随空格。

我试过这个:

var re=/\w{0,} \[*\w{0,}\]/

但它在测试字符串上返回 false,例如:

re.test("onc>*!llklk[dd<dfd]")

最佳答案

您的正则表达式明确要求存在一个空格。我们可以用 Regexper 将其可视化:

Example

这在 "onc>*!llklk[dd<dfd]" 上返回 false因为没有空格字符。

要解决您的问题,请使用具有空格字符的测试字符串,或将您的正则表达式更改为不需要此字符:

var re = /\w{0,}\[*\w{0,}\]/;
re.test("aaa [bbb]");
> true

re.test("onc>*!llklk[dd<dfd]");
> true

您可能需要重新考虑您的正则表达式,因为就目前而言,单个 "]" Angular 色将通过测试:

re.test("]");
> true

关于Javascript 模式验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26279673/

相关文章:

javascript - 如何比较两个二维数组并按特定顺序返回结果(Google Apps 脚本)?

JavaScript 过滤相似字符串

regex - 使用正则表达式限制文本字段/数字字段中的输入字符?

c# - 使用 double,double 验证一个简单的 CSV 文件

php - JQuery 验证器 - 有效提交时未调用成功函数

javascript - 将使用 Javascript 绘制的外部 SVG 文件导出为 PNG 图像

javascript - 在没有可视化编辑器的情况下使用 Google Optimize?

html - 为什么我的 XPath 与正则表达式无法匹配?

java - Groovy 正则表达式

正则表达式:查找不以特定前缀开头的字符串