如果第1和第3位相等,如何检查用户输入

时间:2014-02-26 01:19:40

标签: javascript

我想检查用户输入的第一位和第三位,以及第二位是否与其他两位不同,例如:676。

function myfunction()

{
  var formvalid = true;
 var x=document.forms["form1"]["input_text"].value;
   if (isNaN(x)) 
  {
    alert("Must input numbers");
    formvalid = false;
  }
   var a=document.getElementById("in_num").value;
   if(a.length < 3 || a.length >3)
    {
  alert("input 3 digit number");
      formvalid= false;
}
}
</script>
<body>
<form name="form1" >
<input type="text" id="in_num"  name="input_text"/> 
<input type="button" id="but_id" value="submit" onclick="myfunction();" />
 </form>

2 个答案:

答案 0 :(得分:0)

使用数字%10和数字/ 10来获取单个数字,然后从那里获得一个简单的if-else结构

number = 676;

var ones = 676%10  // Here ones = 6
var remaining = 676/10 // remaining = 67

var tens = remaining%10;
remaining = remaining/10;
var hundreds = remaining%10;
remaining = remaining/10;

现在你有一些,数十和数百个变量,你可以检查所需的条件。

答案 1 :(得分:0)

试试这个:

function checkNumber(n) {
    if(n > 999 || n < 100) {
        return false;
    }

    var n1 = Math.floor(n/100)
    var n2 = Math.floor((n/10)%10)
    var n3 = Math.floor(n%10)

    return (n1 === n3 && n1 !== n2)
}

checknumber(676)