我想验证输入字段.用户应输入最小长度为10位的电话号码.
所以我需要检查非法字符.只检查输入是否为整数会很好.
我想出了这个,但它不起作用(n将是字符串).
function isInt(n){
return typeof n== 'number' && n%1==0;
}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
在JavaScript/jQuery中是否有任何简单的方法来检查变量是否为数字(最好是没有插件)?我想提醒变量是否为数字.
提前致谢...:)
我想检查文本框是否包含数字值或使用javascript我使用此字符串.
var query=getquerystring()
if(isNaN(query))
{
alert("query is a string");
}
else{
alert("query is numeric");
}
Run Code Online (Sandbox Code Playgroud)
其中getquerystring()是一个函数
function getquerystring() {
var query=document.getElementById("queryString").value;
return query;
}
Run Code Online (Sandbox Code Playgroud)
但是当我在文本框中输入数字1234仍然得到查询是一个字符串.请告诉我我的代码有什么问题,并建议我一些解决方案.
我想要做的是用户输入的数字和返回的数字之和.我的逻辑如下:
这是我到目前为止的代码:
<script type='text/javascript'>
var val=document.getElementById('userInput').value;
var temp=val.split(" ");
function sum() {
for(var i=0, MISSING THIS BIT
document.getElementById('resultSum').innerHTML=MISSING THIS BIT;
}
</script>
<form name="input">
<textarea name="userInput" rows=20 cols=20></textarea>
<input name="Run" type=Button value="run" onClick="sum()">
<form name="resultSum"><input type=Text>
Run Code Online (Sandbox Code Playgroud)
我谦虚地承认这很可能是错误的,并且感谢任何人的时间和精力.
更新:我已按照建议完成,我在下面的代码中收到以下错误:
消息:'document.getElementById(...)'为null或不是对象行:16字符:1代码:0
<html>
<script type='text/javascript'>
function sum(){
var val = document.getElementById('userInput').value;
var temp = val.split(" ");
var total = 0;
var v;
for(var i = 0; i < temp.length; i++) {
v = parseFloat(temp[i]);
if (!isNaN(v)) total += v; …Run Code Online (Sandbox Code Playgroud) 我只是想评估一个输入是否是一个数字,并认为isNaN这是最好的方法.但是,这会导致不可靠的结果.例如,使用以下方法:
function isNumerical(value) {
var isNum = !isNaN(value);
return isNum ? "<mark>numerical</mark>" : "not numerical";
}
Run Code Online (Sandbox Code Playgroud)
在这些价值观上:
isNumerical(123)); // => numerical
isNumerical("123")); // => numerical
isNumerical(null)); // => numerical
isNumerical(false)); // => numerical
isNumerical(true)); // => numerical
isNumerical()); // => not numerical
Run Code Online (Sandbox Code Playgroud)
在这个小提琴中显示:http://jsfiddle.net/4nm7r/1
为什么不isNaN总是对我有用?
我不清楚在JavaScript中识别包含其他字符串数字的字符串是多么困难.
Number('')评估0,虽然''绝对不是人类的数字.
parseFloat 强制执行数字,但允许它们被abitrary文本拖尾.
isNaN 对于空格字符串,求值为false.
那么什么是编程函数来检查字符串是否是一个数字,根据一个简单而合理的定义是什么数字?
当我试图破坏我的代码时,我发现了这种意想不到的行为......有人可以向我解释为什么会这样,以及应该如何确保提供的值是真正的浮动?
例如:
alert(parseFloat('4.2.2'));
Run Code Online (Sandbox Code Playgroud)
我在期待NaN......不是我得到的.
我在这里做了一个非常简单的jsfiddle演示.
在Chrome和Firefox上的JavaScript中:
isNaN( "\n" )给出false
parseFloat ( "\n" )了NaN
同样是产生了\t,\r和\f".
\n 是一个数字\n给你不是数字.\0,\\并按\"预期工作.NaN是一个数字,只是不能代表任何其他价值\n数字也是如此,这是不可表示的.为什么浏览器会这样实现?
对于数组: ["5","something","","83","text",""]
如何从数组中删除所有非数字和空值?期望的输出:["5","83"]
我有一个从用户那里获取一些数字的代码。我想确保用户给出的数据是数字而不是字符串。根据我对 vb6 的了解,我知道我可以使用 IsNumeric 所以我想知道是否有类似的函数到js