检查文本框的值是数字还是字符串。
检查文本框的值是数字还是字符串。
可能重复:
在JavaScript中是否有一种(内置的)方法来检查字符串是否为有效数字?
我想使用JavaScript检查文本框中是否包含数值或字符串。
我使用了以下代码:
var query=getquerystring() if(isNaN(query)) { alert("query是一个字符串"); } else{ alert("query是数值"); }
其中getquerystring()是一个函数,如下:
function getquerystring() { var query=document.getElementById("queryString").value; return query; }
但是,当我在文本框中输入数字1234时,仍然显示query是一个字符串。
请告诉我我的代码有什么问题,并给我一些建议。
问题:如何检查文本框的值是数字还是字符串?
出现的原因:原来的答案存在问题,无法使用NaN
进行比较,需要使用isNaN
函数。
解决方法:可以使用以下两种方法之一来解决问题:
1. 使用isNaN
函数进行比较:
var query = getquerystring(); if(isNaN(parseFloat(query))) { alert("query is a string"); } else { alert("query is numeric"); }
2. 或者,可以使用正则表达式模式匹配来判断字符串是否与预期匹配:
var mytestbox = "1214"; if (mytestbox.match(/^[0-9]+$/)) { alert("query is numeric"); } else { alert("query is a string"); }
作者Aleks G表示他使用了parseInt函数,但未提供相关代码。