我需要检查一个单词是否以特定子字符串开头,忽略大小写差异.我一直在使用以下正则表达式搜索模式进行此检查,但是当字符串中存在差异时,这无济于事.
我的案例敏感方式:
var searchPattern = new RegExp('^' + query);
if (searchPattern.test(stringToCheck)) {}
Run Code Online (Sandbox Code Playgroud)
Fel*_*ing 53
将i
修饰符作为第二个参数传递:
new RegExp('^' + query, 'i');
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请查看文档.
Guf*_*ffa 17
您根本不需要正则表达式,只需比较字符串:
if (stringToCheck.substr(0, query.length).toUpperCase() == query.toUpperCase())
Run Code Online (Sandbox Code Playgroud)
演示:http://jsfiddle.net/Guffa/AMD7V/
这也处理你需要转义字符以使RegExp解决方案工作的情况,例如,否则query="4*5?"
它总是匹配所有内容.
我认为所有以前的答案都是正确的,这是另一个类似于SERPRO的例子,但区别在于没有新的构造函数:注意:我忽略大小写,^表示开始.
var whatEverString = "My test String";
var pattern = /^my/i
var result = pattern.test(whatEverString);
if (result === true) {
console.log(pattern, "pattern did match !");
} else {
console.log(pattern, " pattern did NOT match");
}
Run Code Online (Sandbox Code Playgroud)
如果您想尝试一下,这是jsfiddle.
归档时间: |
|
查看次数: |
70890 次 |
最近记录: |