请帮我查一下我的代码有什么问题
<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>
答案 0 :(得分:1)
这是一个常见的错误。
正确的语法是isNaN
而不是isNan
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/isNaN
对于有相同问题的其他人,这是调试此问题的一种方法。
打开JavaScript控制台并查看错误消息。如果你看到像
这样的东西isNan未定义
这意味着存在语法错误。
有两种方法可以改进代码
parseFloat
的第二个引用。您已经转换为数字。
<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;
}
}