2013-08-26 110 views
-1

我在文本輸入中有一個值,需要以dd/mm/yyyy格式驗證日期。以下是我的代碼。無論我在文本輸入中輸入的內容如何,​​我總是會變得真實。否則,功能運作良好。始終使用我在文本輸入中輸入的值顯示警報。Javascript RegEx.Test始終返回true

function checkDate(date) 
    { 
    var result; 
    var expression = /[0-9]{2}\/[0-9]{2}\/[0-9]{4}/; 
    result = expression.test(date.value); 

     if(result=true) 
     { 
      alert(date.value); 
     } 

     else 
     { 
     alert("false finally"); 
     } 


    } 
+3

'if(result == true)'或者'if(result)' – elclanrs

+1

你正在做一個任務,你需要做一個條件測試。這就是爲什麼有些人把它寫成(true == result)。 – dcaswell

+0

您應該切換到使用[Yoda](http://wiert.me/2010/05/25/yoda-conditions-from-stackoverflow-new-programming-jargon-you-coined/)條件。 –

回答

1
if(result==true) 
     { 
      alert(date.value); 
     } 

而不是單一的 「=」 有 「==」,否則你可以使用這樣

 if (result) 
      { 
       alert(date.value); 
      } 

,並永遠記住這

"1" == 1 // true 
"1" === 1 // false 

類型的例子工作壓力。基本上任何時候你的價值是「相同」,但類型不是那麼==工程。

請隨時使用===。沒有必要使用==。檢查類型總是更好。如果有什麼東西壞了,那麼你可以從類型a轉換爲類型b