javascript - 正则表达式匹配整个字符串但不区分大小写

标签 javascript regex

我有一个循环的代码列表,对于每个代码,我需要在提交表单时检查精确但不区分大小写的匹配.

我想出了一个使用正则表达式的解决方案,但它不是很完美(它忽略大小写,但会返回部分匹配)。

例如,从我的代码列表中获取此示例 -

EXC
EXD
EXD1

如果提交 ex 则不应找到匹配项(但所有 3 个示例均匹配),如果提交 exd 则仅应找到 EXD匹配(但 EXD1 也匹配)。

在下面的代码中,val 是来自表单的用户输入,v.code 是每个循环代码 -

if(v.code.search(new RegExp(val, "i")) >= 0){ ...

如何修改此代码以满足我的要求?谢谢。

最佳答案

使用开始和结束 anchor 构建正则表达式:

if (new RegExp("^" + val + "$", "i").test(v.code)) {
  // match!
}

如果您担心需要测试大量代码时的性能,您可以预先构造正则表达式,这样您就不必在每次验证时都这样做。

关于javascript - 正则表达式匹配整个字符串但不区分大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29034129/

相关文章:

javascript - 表示 this 在函数之间返回 null

javascript - 在不使用decodeAudioData()的情况下如何获取音频文件的 channel 数?

javascript - gulp 变量 变量名

android - Android中密码字段的正则表达式

javascript - 如何替换文本中的列表项?

javascript - Visual Studio 2015 中的 Underscore.js 语法突出显示

javascript - 以更低的成本找到最佳组合

regex - 在 Powershell 中使用正则表达式抓取电子邮件

python - 如何制作仅匹配嵌套括号的中间括号的正则表达式?

javascript - 在 javascript 中的正则表达式(匹配)中使用变量时出错