Javascript 检测用户是否在输入字段中输入字符串值或数字
我有一个输入字段和一个按钮。当用户单击按钮时,我首先检查他们是否输入了数字。如果是非数字字符串,则不应发生任何事情。如果它是一个数字,那么我将对上面的灰色分区进行一些修改。当我输入一个数字并将其类型记录到控制台时,它会显示该值的数据类型是“string”。那么如何检查正确的数据类型呢 代码如下:Javascript 检测用户是否在输入字段中输入字符串值或数字,javascript,css,html,Javascript,Css,Html,我有一个输入字段和一个按钮。当用户单击按钮时,我首先检查他们是否输入了数字。如果是非数字字符串,则不应发生任何事情。如果它是一个数字,那么我将对上面的灰色分区进行一些修改。当我输入一个数字并将其类型记录到控制台时,它会显示该值的数据类型是“string”。那么如何检查正确的数据类型呢 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>JS Bin&
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS Bin</title>
</head>
<body>
<div id='test'></div>
<p><input type='text' id='myText'/>
<input type='button' value='click' id='myButton'/></p>
</body>
</html>
JavaScript
var el = document.getElementById('myButton'),
elOne = document.getElementById('myText'),
container = document.getElementById('test');
el.onclick = function(){
var data = elOne.value;
if(typeof data === 'number'){
console.log('number');
}else if(typeof data === 'string') {
console.log('string');
}
};
这里是jsbin链接-使用像
isNaN()
或isNumeric()
这样的函数,或者使用正则表达式\[0-9].\
。value
总是返回字符串。好的,但是如果用户输入一个数字,如何转换回数字。@FelixKling,whentype=“text”
->
即使输入类型为number
,.value
也会返回字符串。只有输入的用户表示形式
发生了变化。
var el = document.getElementById('myButton'),
elOne = document.getElementById('myText'),
container = document.getElementById('test');
el.onclick = function(){
var data = elOne.value;
if(typeof data === 'number'){
console.log('number');
}else if(typeof data === 'string') {
console.log('string');
}
};