如何匹配angularjs中的大写和小写字母?

时间:2017-12-28 04:08:50

标签: javascript

我希望使用正则表达式匹配所有大写字母和小写字母,在我的代码中我只匹配特定字符,但我想匹配所有字符,无论大小或小。这是我的代码

$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'
            }
        }
    }
}

我怎么能这样做?

3 个答案:

答案 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' }
                           }
                       }
                   }