正则表达式检查字符串是否以忽略大小写差异开头

新手上路,请多包涵

我需要检查一个单词是否以忽略大小写差异的特定子字符串开头。我一直在使用以下正则表达式搜索模式进行此检查,但是当字符串中的大小写不同时,这无济于事。

我区分大小写的方式:

 var searchPattern = new RegExp('^' + query);
if (searchPattern.test(stringToCheck)) {}

原文由 Rajat Gupta 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 729
2 个回答

i 修饰符作为第二个参数传递:

 new RegExp('^' + query, 'i');

查看 文档 以获取更多信息。

原文由 Felix Kling 发布,翻译遵循 CC BY-SA 3.0 许可协议

您根本不需要正则表达式,只需比较字符串:

 if (stringToCheck.substr(0, query.length).toUpperCase() == query.toUpperCase())

演示:http: //jsfiddle.net/Guffa/AMD7V/

这也处理了您需要转义字符以使 RegExp 解决方案工作的情况,例如 query="4*5?" 否则它总是匹配所有内容。

原文由 Guffa 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题