2014-04-14 99 views
0

我有兩個值,我們將其命名爲第一個值和第二個值。
我想驗證,如果他們中的任何一個是消極的。兩個值中的一個必須是負值或兩個值都是負值。我在這裏使用JavaScript。所以有兩個值的數組。我嘗試連接值並使用reg exp檢查是否有負號,但只有第一個值被驗證。任何想法呢?
檢查兩個值是否爲負數

for(var i=0; i<first_value.length;i++) 
     { 

      var getVals = first_value[i].value + " " + second_value[i].value; 
      if(!getVals[i].match(/-/g)) 
      { 
       err2[i].innerHTML = "Atleast one negative!"; 
       alert(getVals); 
       return false; 
      } 


     } 
+7

爲什麼不只是做'如果(FIRST_VALUE [I]。價值> = 0 && SECOND_VALUE [I]。價值> = 0)'?用正則表達式測試數字的數學值似乎是錯誤的。 –

回答

1

return first_value > 0 && second_value > 0

+0

應該是'||'而不是'&&'。 – Aashray

+0

@Aashray爲什麼?只有兩者都是肯定的,它纔會返回true。如果一個是否定的,則爲false。 – adrichman

+0

@Aashray:OP實際上想要測試兩個值是否都是正數,如果是,則顯示錯誤消息。檢查他們的代碼。 –

2

這應該有所斬斷。

if(first_value[i].value < 0 || second_value[i].value < 0) 
0
for(var i=0; i<first_value.length;i++) 
    { 

    if (first_value[i].value < -1 || second_value[i].value < -1) 
     { 
      err2[i].innerHTML = "Atleast one negative!"; 
      alert(getVals); 
      return false; 
     } 


    } 
+0

嘿,仍然錯誤:)'<= 0'測試爲「零或負」,而不是「負」。 '<0'測試「否定」。 – Amadan

+0

這不等同於OP目前的內容。 –