簡體   English   中英

JavaScript函數中的字符串或空值檢查

[英]String or Null check in JavaScript function

單擊按鈕后,應驗證id值,如果該值不為NA或為null,則應加載頁面,否則將引發警報。

 <a href="#" id="check" class="button" onclick="id_check()">View ID</a><br><br>

function id_check() {
    if (id != "NA" || (id != null)) {
        // load diff page
    } else {
        alert("Something Wrong");

    }
}

但是or(||)的if條件不能按預期工作。 當我剛比較id!=“ NA”時,它工作正常。 我在這里想念什么?

這里要了解的重要事項是|| 操作員將結果短路。 這意味着,如果第一個表達式的計算結果為真,則該值將立即返回。 第二個表達式將不會被求值。

您的情況是id != "NA" || id != null id != "NA" || id != null ,如果數據為nullid != "NA"檢查將返回true 因此,根本不檢查第二部分。

由於您希望輸入數據不為NAnull ,因此可以在此處使用&&運算符,例如id != "NA" && id != null

注意: if != null將返回false ,如果id undefined ,因為!=將強制表達式。 因此,最好使用嚴格的相等比較運算符。 因此, if id !== "NA" && id !== null ,則條件將變為

您的條件應為id != "NA" && id != null因為您希望id與NA分開並且也null分開。

請使用以下代碼,如果id不為空,它將在消息中顯示“成功”文本。

<a href="#" id="check" class="button" onclick="id_check(this.id)">View ID</a>

    <script>
     function id_check (id)
                 {
                //if block will execute if element id value isn't empty or Null
                     if ( id )
                     {

                        alert("Id isn't empty");
                     }else
                     {
                         alert ("Id is empty");

                     }
                 }
    </script>

我們需要將控件的id傳遞給函數。傳遞id之后,我們可以根據需要進行驗證。

this.id-它將元素的id作為參數返回給'id_check'函數。

請參考以下鏈接以驗證答案-http://jsfiddle.net/pdhsob8s/4/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM