我想检查输入的值,无论是javascript中的数字还是字母

时间:2016-02-23 06:35:05

标签: javascript

请帮我查一下我的代码有什么问题

数字或字母

<input type="text" id="text">
<button onclick="Check()" type="button" name="button" id="btnCheck">Check</button>

<script type="text/javascript">
  function Check(){
    var x = parseFloat(document.getElementById("text").value);

    if (isNan(parseFloat(x))) {
      alert("This is a letter");
    }else {
      alert("This is a number");
    }
  }
</script>

2 个答案:

答案 0 :(得分:1)

这是一个常见的错误。

正确的语法是isNaN而不是isNan

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/isNaN

对于有相同问题的其他人,这是调试此问题的一种方法。

打开JavaScript控制台并查看错误消息。如果你看到像

这样的东西
  

isNan未定义

这意味着存在语法错误。

有两种方法可以改进代码

  1. 删除对parseFloat的第二个引用。您已经转换为数字。
  2. 我们可以将if-else语句更改为ternary。
  3. <input type="text" id="text">
    <button onclick="Check()" type="button" name="button" id="btnCheck">Check</button>
    
    <script type="text/javascript">
      function Check(){
        var x = parseFloat(document.getElementById("text").value);
        alert(isNaN(x) ? "This is a letter" : "This is a number");
      }
    </script>

答案 1 :(得分:-1)

使用jquery $.isNumeric() $.isNumeric()方法检查其参数是否表示数值。如果是,则返回true。否则返回false。参数可以是任何类型。

$.isNumeric( "-10" );     // true
$.isNumeric( 16 );        // true
$.isNumeric( 0xFF );      // true
$.isNumeric( "0xFF" );    // true
$.isNumeric( "8e5" );     // true (exponential notation string)
$.isNumeric( 3.1415 );    // true
$.isNumeric( +10 );       // true
$.isNumeric( 0144 );      // true (octal integer literal)
$.isNumeric( "" );        // false
$.isNumeric({});          // false (empty object)
$.isNumeric( NaN );       // false
$.isNumeric( null );      // false
$.isNumeric( true );      // false
$.isNumeric( Infinity );  // false
$.isNumeric( undefined ); // false

使用JavaScript: -

function alphanumeric(inputtxt)  
{   
var letters = /^[0-9a-zA-Z]+$/;  
if(inputtxt.value.match(letters))  
{  
alert('Your registration number have accepted : you can try another');  
document.form1.text1.focus();  
return true;  
}  
else  
{  
alert('Please input alphanumeric characters only');  
return false;  
}  
}