微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

基本上我有以下代码
<input type="text" value="123" id="txtBox">
<script>
var myVar = document.getElementById('txtBox').value;

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

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

解决方法

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?

原文地址:https://www.jb51.cc/js/155755.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐