我希望使用正则表达式匹配所有大写字母和小写字母,在我的代码中我只匹配特定字符,但我想匹配所有字符,无论大小或小。这是我的代码
$scope.set_color = function(row) {
var inputString = row.Subject;
for (i = 0; i < inputString.length; i++) {
//var findme = "HOT RUSH";
//var str = findme.match(/\b([a-z][A-Z])\b/);
var findmeCap = "HOT RUSH";
var findmeSmall = "hot rush";
if (inputString.indexOf(findmeCap) > -1 || inputString.indexOf(findmeSmall) > -1) {
return {
'background-color': '#FFCCCB'
}
}
}
}
我怎么能这样做?
答案 0 :(得分:2)
您可以执行string.toUpperCase和string.toLowerCaseAnd,然后比较结果。并相应地改变颜色。
var a = "hello";
var b = "HELLO";
if (a.toUpperCase() === b.toUpperCase()) {
alert("string is equal");
//change color
}
另一个解决方案是https://github.com/nickuraltsev/ignore-case
这样就可以了,只有这样才能使用其中任何一个。
答案 1 :(得分:1)
var inputString = row.Subject;
var findMe = "hot rush";
if(inputString.toLowerCase().indexOf(findMe) !== -1) {
return {'background-color': '#FFCCCB'};
}
这就是我如何处理这个问题.Regex不是你需要的。并摆脱for循环。
答案 2 :(得分:0)
在我的情况下,代码工作正常。
$scope.set_color = function (row) {
var inputString = row.Subject;
for (i = 0; i < inputString.length; i++) {
var findMe = "hot rush";
if (inputString.toLowerCase().indexOf(findMe) > -1) {
return { 'background-color': '#FFCCCB' }
}
}
}