匹配字符串不区分大小写

时间:2014-07-17 04:51:38

标签: javascript automation jasmine protractor

在我的申请中,我有一个事件的状态。 我在编写测试脚本时为这些状态创建了一个对象:

var satus = {
open : 'Open',
inProgress : 'In-Progress'
closed : 'Closed'
};

我在应用程序的许多页面中显示了该状态,在不同页面上显示的是大写字母而不是其他页面。

我们可以期待Strings不敏感吗?

3 个答案:

答案 0 :(得分:1)

在JavaScript中,字符串比较区分大小写。

您可以使用以下代码对两个不区分大小写的字符串进行比较。

var equal = str1.toUpperCase() === str2.toUpperCase();

答案 1 :(得分:0)

你想这样吗?

for(var key in status) {
    var value = status[key].toLowerCase();
    console.log(value);
}

答案 2 :(得分:0)

使用带有i标志的ReGex使其不区分大小写。

根据您的用例,使用带有i标志的RegEx匹配器以使其区分大小写可能会比较方便,例如 in 所以:

'Test'.match(/test/)  //=> null
'Test'.match(/test/i) //=> ["Test", index: 0, input: "Test", groups: undefined]

当想要进行部分匹配时,这种方法特别有效:

'Test'.match(/te/)  //=> null
'Test'.match(/te/i) //=> ["Te", index: 0, input: "Test", groups: undefined]