关于html:如何使用angular js比较两个字符串,无论小写和大写

how to compare two string regardless of lowercase and uppercase using angular js

本问题已经有最佳答案,请猛点这里访问。
  • 嗨,我需要比较两个字符串,不管字母大小写(大写/小写)。

    1
    2
    3
    4
    5
    6
            <tr ng-repeat="x in vm.partners">
               <td ng-if ="'vm.partner.name' === 'vm.partners.name'"
                   colspan="2">{{ x.name }}</td>
               <td ng-if ="'vm.partner.name' === 'vm.partners.name'"
                   colspan="2">{{ x.contact.city.name }}</td>
            </tr>
  • 我想检查(vm.partner.name)和(vm.partners.name)两个字符串在和模式中是否相同。

  • 我想保留regex模式,请告诉我怎么做。

  • 正如注释中提到的,您可以同时使用tolowercase和check。不需要过滤器或任何东西。

    1
    <td ng-if ="vm.partner.name.toLowerCase()== vm.partners.name.toLowerCase()">

    注意:不要将vm.partner.name作为字符串,就像在代码中那样。


  • 像Vertika建议的那样使用toLowerCase()
  • 在控制器上创建一个函数,使ng代码在HTML中保持干净。
  • 显示/隐藏整行,而不是显示/隐藏每个单元格。
  • 1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    <table ng-app="myApp" ng-controller="HomeCtrl as vm">
      <tr ng-repeat="partner in vm.partners" ng-show="vm.isPartner(partner.name)">
        <td>{{partner.name}}</td>
        <td>{{partner.city}}</td>
      </tr>
    </table>

    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js">


    angular.module('myApp', [])
    .controller('HomeCtrl', function() {
      let vm = this;
      vm.partners = [
        {
          name: 'John',
          city: 'Los Angeles',
        },
        {
          name: 'Jim',
          city: 'Las Vegas',
        },
        {
          name: 'Joe',
          city: 'Dallas',
        },
      ];
     
      vm.partner = {
        name: 'jim',
      };
     
      vm.isPartner = function(name) {
        return vm.partner.name.toLowerCase() === name.toLowerCase();
      };
    });