我是JavaScript编程的新手,并且一直在尝试验证从php页面上的用户输入的数字。这是包含的javascript。
var validate_and_create = function(){
var i_number = $("input_number").value;
var isValid = true;
if (i_number === ""){
$("create_n_error").firstChild.nodeValue = "Number text field cannot be blank.";
isValid = false;
} else {
if (typeof i_number === 'number') {
$("create_n_error").firstChild.nodeValue = "This is a number!";
isValid = true;
} else {
$("create_n_error").firstChild.nodeValue = "This is not a number!";
isValid = false;
}
}

即使在文本框中插入整数值,也始终打印输入不是数字。所以我确定它将输入作为字符串输入。所以我必须将其转换为整数,以便我可以验证吗?或者我做错了什么?
答案 0 :(得分:1)
您可以使用parseInt将值转换为整数,例如const myElement =
<MyComponent>
<ChildComponent />
</MyComponent>
return (
<div>
{this.state.open ? myElement : otherElement}
</div>
);
将返回parseInt("55", 10)
。
55
之类的内容会返回parseInt("xx",10)
。
答案 1 :(得分:0)
感谢adeneo,isNaN致力于验证。
以下代码:
var validate_and_create = function(){
var i_number = $("input_number").value;
var isValid = true;
if (i_number === ""){
$("create_n_error").firstChild.nodeValue = "Number text field cannot be blank.";
isValid = false;
} else {
if (isNaN(i_number)) {
$("create_n_error").firstChild.nodeValue = "This is not a number!";
isValid = false;
} else {
$("create_n_error").firstChild.nodeValue = "This is a number!";
isValid = true;
}
}