Javascript大于或小于

时间:2012-06-12 19:19:02

标签: javascript

我根据其他人的建议重写了我昨天提交的代码。我现在有这个,但似乎仍然无法让它工作大于不到。我可以添加/减去2个数字并获得有效答案。我不能得到一个> <然而,工作。希望有人可以提供一些额外的帮助,使其保持在“If语句”的格式内。

if ((input.search("what is greater")!= -1) && (input.search(/\d{1,10}/)!=-1) && (input.search(/\d{1,10}/)!=-1)) 
{var numbersInString = input.match(/\d+/g); 
var num1 = parseInt( numbersInString[0], 10 ); 
var num2 = parseInt( numbersInString[1], 10 ); 
if (num1 < num2) document.result.result.value = ""+num1+" is less than "+num2+""; 
if (num1 > num2) document.result.result.value = ""+num1+" is greater than "+num2+""; 
if (num1 = num2) document.result.result.value = "Both numbers are equal"; 
return true;}

3 个答案:

答案 0 :(得分:0)

听起来你想以两种方式操纵一个数字:

1)你想引用个别角色。

2)您想要将该数字与另一个数字进行比较,看看是否有一个数字大于另一个数字。

如果您有一个名为input的字符串,那么您可以使用函数parseInt(input, 10)将其从字符串转换为该字符串所代表的数字。

如果您只想获得前两个字符,可以使用substring函数。

要记住的重要一点是,对于计算机,字符串'12345'和数字12345完全不同。计算机具有完全不同的操作集,它们将在每个操作上执行。

另外,@ albin指出在if语句后添加分号是错误的。

答案 1 :(得分:0)

match方法的输出是一个字符串数组,所以我认为你不是比较数字而是字符串。在比较你的数字之前尝试这样做。

var num1 = parseInt( numbersInString[0], 10 );
var num2 = parseInt( numbersInString[1], 10 );

然后比较num1和num2。

答案 2 :(得分:0)

http://jsfiddle.net/qt3RW/ 简单的输入框:

<input id="input1" value="Is 6 greater than 5"></input>

Parser发现'Is#大于#',其中#是数字并提醒这个数字:

var IsStringValid = $("#input1").val().match(/Is \d greater than \d/g);
alert(IsStringValid);
if(IsStringValid){
    var values = $("#input1").val().match(/\d/g);
    for(var i = 0; i < values.length; i++){
        alert(values[i])
    }
}