在Chrome和Firefox上的JavaScript中:
isNaN( "\n" )给出false
parseFloat ( "\n" )了NaN
同样是产生了\t,\r和\f".
\n 是一个数字\n给你不是数字.\0,\\并按\"预期工作.NaN是一个数字,只是不能代表任何其他价值\n数字也是如此,这是不可表示的.为什么浏览器会这样实现?
我有这个功能,但我想在前面和后面检查空格,而不是在中间我发回来之前我可以用它做什么...
function validateNumeric() {
var val = document.getElementById("tbNumber").value;
var validChars = '0123456789.';
for(var i = 0; i < val.length; i++){
if(validChars.indexOf(val.charAt(i)) == -1){
alert('Please enter valid number');
return false;
}
}
return true;
}
Run Code Online (Sandbox Code Playgroud) 我试图validate integer values从文本框中创建一个javascript函数.验证它的最佳方法是什么,只有integer and float值可以接受?
用于数字验证的必需java脚本函数.
我什至设置了一个 onclick 来获取输入的值,如果该值是数字,则发出警报。如果输入的值为空,我试图提醒它说“没有数字”,但是,似乎即使我的输入为空,该函数也会返回一条语句,说明“空”值确实是一个数字。
我已经设置了变量来立即解析输入的值,但这就是为什么我的代码总是返回“是一个数字”的原因,因为它在收集变量时自动设置为 1?
代码:
HTML:
<input type="text" id="numberTest" />
<button id="button">Click Me</button>
Run Code Online (Sandbox Code Playgroud)
JS:
var button = document.getElementById("button");
button.onclick = function()
{
var numberTest = parseInt(document.getElementById("numberTest").value);
if(numberTest == NaN || "" || null)
{
alert("No Number");
}
else
{
alert("This is a number!");
}
};
Run Code Online (Sandbox Code Playgroud) 我有以下功能:
function checkRegexp(o, regexp, n) {
if (!(regexp.test(o.val()))) {
return false;
} else {
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
此代码正确验证电子邮件地址:
checkRegexp(email, /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i, "incorrect email ");
Run Code Online (Sandbox Code Playgroud)
这应该检查数字:
checkRegexp(numberId, "^[0-9]", "enter only number");
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误: regexp.test is not a function
我一直在尝试使用PHP来验证我的表单.
该表单要求用户输入详细信息,然后在验证表单后将其输入到数据库中的表中.
我在形式的客户ID字段,我想验证它,以确保它有一个值(强制性字段),只包含数字字符,在长度上正好6位数字,是一个唯一的ID(即不已存在于数据库中).
这是我到目前为止:
<body>
<?php
$temp = "";
$msg = "";
$rst = "";
if (isset($_POST["submit"])) {
$number = $_POST["custid"];
if(empty($number)) {
$msg = '<span class="error"> Please enter a value</span>';
} else if(!is_numeric($number)) {
$msg = '<span class="error"> Data entered was not numeric</span>';
} else if(strlen($number) != 6) {
$msg = '<span class="error"> The number entered was not 6 digits long</span>';
} else {
echo "valid";
}
}
?>
<h1>Customer Information Collection <br /></h1>
<form method="POST" action="<?php echo $_SERVER["PHP_SELF"];?>" …Run Code Online (Sandbox Code Playgroud) 我说有一根绳子
var Str = 'My name is 123 and my name is 234'.
现在我将其拆分为
var arrStr = Str.split(' ');
我遍历数组并具有不同的逻辑,具体取决于单词是字符串还是数字.我该如何检查?我试过typeof哪个对我不起作用.
编辑:
看到多个答案后.现在,我绝望,这是最有效的方式吗?
我的猜测是:
function isNumber(val) {
return val === +val;
}
Run Code Online (Sandbox Code Playgroud)
有没有更好的办法?
以前的参考
在函数中写入最难的时间来隐藏等于或小于零的数字.这是我想写的函数:
function isItANumber() {
var increased = parseInt($("#increasedRevenueValue"));
if(isNaN(increased)) {
$("#increasedRevenueValue").hide();
}
}
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?我应该用OR吗?
编辑:这是我的代码http://jsfiddle.net/YVcj7/的小提琴
我想要一个简洁的表达式来告诉我给定的值是整数还是浮点数.当提供输入值NaN或者Infinity,我希望输出值为false时,所以这排除了简单检查是否typeof(val) == 'number'
期望的输入/输出:
1 => true-42 => true3.14 => trueNaN => falseInfinity => falsenull => falseundefined => falseisFinite()几乎是完美的,但有一个问题:isFinite(null)当我真的希望它返回false时返回true.
没有经常检查if ((val != nul) && isFinite(val)),还有另一种更简洁的技术吗?
javascript ×9
jquery ×2
parsing ×2
validation ×2
forms ×1
if-statement ×1
integer ×1
nan ×1
numeric ×1
php ×1
regex ×1
spaces ×1
types ×1