正则表达式匹配整个字符串,但大小写不敏感
Regular expression to match whole string but case insentitive
我有一个循环的代码列表,对于每个代码,我需要在提交表单时检查是否完全但不区分大小写的匹配项。
我 hva 想出了一个使用正则表达式的解决方案,但它不是很完美(它忽略了大小写,但它会返回部分匹配)。
例如,从我的代码列表中获取此示例 -
执行
EXD
EXD1
如果提交ex
则不应找到匹配项(但所有 3 个示例都匹配),如果仅提交exd
EXD
应匹配(但也匹配EXD1
)。
在下面的代码中val
是来自表单的用户输入,v.code
是每个循环代码 -
if(v.code.search(new RegExp(val, "i")) >= 0){ ...
如何修改此代码以满足我的要求?谢谢。
使用开始和结束锚点构建正则表达式:
if (new RegExp("^" + val + "$", "i").test(v.code)) {
// match!
}
如果您担心性能是否应该有大量代码要测试,您可以预先构造正则表达式,这样您就不必为每个验证都这样做。
您可以通过以下方式在没有正则表达式的情况下执行此操作:
if (val.toLowerCase() == "insensitive string".toLowerCase())
{
// ...
}
使用单词边界:
new RegExp('''b'+val+'''b', "i")
相关文章:
- JavaScript Regex(?i)选项中字符串大小写不敏感的部分不起作用
- 如何在JavaScript中按大小写拆分字符串
- Javascript 将 unicode 字符串转换为“标题大小写”
- 正则表达式匹配整个字符串,但大小写不敏感
- 将字符串添加到不区分大小写的 RegExp 中替换的事物开始
- javascript从字符串创建不区分大小写的regex
- 将句子大小写应用于可能包含HTML的字符串
- 使用简单的角度滤波器来替换输入字符串中某些字符串的所有出现,而不考虑大小写和空格
- 用于Cordova应用程序的Javascript SQLite-使用参数搜索,其中字符串包含子字符串大小写insenst
- 在DOM中搜索字符串时不区分大小写
- 如何使切换大小写忽略字符串中的标点符号
- 字符串大小写转换 javascript
- 将驼峰大小写字符串转换为连字符的角度服务
- 如何交替字符串的大小写
- 在 Javascript 中将任何类型的字符串更改为标题大小写
- 在javascript中将字符串转换为句子大小写
- 突出显示所有出现的字符串 - 不区分大小写
- 切换组合大小写字符串regex和数字
- 如何在Javascript中包含一个正则表达式到切换大小写字符串
- 如何使用正则表达式在驼峰大小写字符串中插入空格