2017-11-03 18 views
0

最初の数値が2番目の数値よりも大きくない範囲の2つのテキストボックスの間に入力された数値を検証しようとしています。この検証は有効数字が3桁の場合(たとえば800〜900)、800〜1000を入力しようとするとこのケースが有効であってもfalseを返します。 私のコードはここに行く:4桁の数字の数値の範囲を確認するJavascript検証

function validate_range(num1,num2) 
    { 
     if(num2<num1) 
     { 
      alert("Invalid range"); 
      return false; 
     } 
    } 

私はこれがなぜ起こるか把握することはできませんよ。助けてください。

+2

はあなたが*数値を入力しているよろしいですあなたの友達です*ありません*文字列*? – jonrsharpe

+0

'num1'と' num2'が文字列の場合、それらは辞書順( '1000'は辞書の' 900'の前にあります)を使って比較されます。 ['parseInt()'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt)Javascript関数について知りたいことがあります。 – axiac

答えて

0

のparseIntを比較するとき、これは起こるが

console.log(4444 < 9999); // true 
console.log('4444' < '9999'); // false 
console.log(parseInt('4444') < parseInt('9999')); // true 
+1

ありがとうございます。解決済み。 –

2

あなたは、文字列の代わりに数字

console.log(800 < 1000); 
 
console.log('800' < '1000');

関連する問題