检查文本框值是字符串还是javascript中的数字

前端之家收集整理的这篇文章主要介绍了检查文本框值是字符串还是javascript中的数字前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
基本上我有以下代码
<input type="text" value="123" id="txtBox">
<script>
var myVar = document.getElementById('txtBox').value;

if (myVar.substring) {
alert('string');
} else{
alert('number');
}
</script>

无论您在文本框中放置什么值,它都会始终提醒字符串.有没有办法,如果你在文本框中放一个数字,它会提醒数字而不是字符串?谢谢.

解决方法

@H_502_9@ input元素的值始终是一个字符串.它可能是一串数字.

如果你想知道该字符串是否只包含有效数字,你必须解析它(并决定你认为什么是有效数字,并允许它).

例如,你会让人们告诉你使用parseInt(myVar)或一元(myVar)或isNaN(myVar)(执行一元做的)或Number(myVar)(相同),但是:

> parseInt只解析字符串的开头,parseInt(“345foo”)是345
> parseInt当然只适用于整数;你需要parseFloat用于包含小数部分的数字
>所有这些都无法理解成千上万的分隔符
>所有这些都无法理解不是的小数分隔符. (例如,在许多地区,或者有时甚至是空间)
> myVar和Number(myVar)和isNaN(myVar)等会将空字符串视为0

……那种事.因此,您必须根据要接受的输入对字符串进行一些准备.

一旦你决定要处理哪种格式,这里有十几个问题,其中有关于进行实际解析的答案:

> How do I Convert a String into an Integer in JavaScript?(注意特定于整数)
> What’s the fastest way to convert String to Number in JavaScript?

猜你在找的JavaScript相关文章