【问题标题】:OR condition in return statement返回语句中的 OR 条件
【发布时间】:2018-07-20 06:18:28
【问题描述】:

如何在“return 语句”中添加 OR 条件

 isFileValid() {        
        return this.myUploadCtrl.nativeElement.value.indexOf("csv") != -1
    }

我想验证 csv 以及大写的 CSV

我知道如何使用 if else 来做到这一点。

但是有更好的方法吗?

【问题讨论】:

    标签: javascript jquery angular typescript logic


    【解决方案1】:

    您可以使用不区分大小写的正则表达式:

    isFileValid() {
      return /csv/i.test(this.myUploadCtrl.nativeElement.value)
    }
    

    演示:

    function isFileValid(value) {
      return /csv/i.test(value)
    }
    console.log(isFileValid('csv'));
    console.log(isFileValid('csV'));
    console.log(isFileValid('CSV'));
    console.log(isFileValid('CSVV'));
    console.log(isFileValid('VVVV'));

    如果您不想匹配 cSVCSv 之类的模式,您可以执行类似的操作:

    isFileValid() {
      return /csv|CSV/.test(this.myUploadCtrl.nativeElement.value)
    }
    

    演示:

    function isFileValid(value) {
      return /csv|CSV/.test(value)
    }
    console.log(isFileValid('csv'));
    console.log(isFileValid('csV'));
    console.log(isFileValid('CSV'));
    console.log(isFileValid('CSVV'));
    console.log(isFileValid('VVVV'));

    【讨论】:

    • 我添加了现场 sn-ps 进行演示,以便您自己查看 - 它确实有效。
    【解决方案2】:

    使用类似于常规 if 条件的条件

    return (expression1 || expression2)
    

    【讨论】:

    • return (this.myUploadCtrl.nativeElement.value.indexOf("csv") != -1 || this.myUploadCtrl.nativeElement.value.indexOf("CSV") != -1) 我尝试了这两个值 csv 和 CSV 它显示为假,当我输入 csv 或 CSV 时,我期待为真
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-16
    相关资源
    最近更新 更多