2013-08-26 7 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