我要檢查如果用戶輸入的值是使用jQuery檢查輸入的值是一個有效的整數
有效的整數我已經試過這個代碼,但它似乎總是返回真正:
if ((manageridEntered === "") || ($.isNumeric(manageridEntered))) {
success = false;
}
我要檢查如果用戶輸入的值是使用jQuery檢查輸入的值是一個有效的整數
有效的整數我已經試過這個代碼,但它似乎總是返回真正:
if ((manageridEntered === "") || ($.isNumeric(manageridEntered))) {
success = false;
}
無需使用jquery
您可以使用javascript
isNaN()
isNaN()接受小數也
return !isNaN(manageridEntered))
或
可使用普通javascript
regex
這裏只匹配數字
return new RegExp('^\\d+$').test(manageridEntered))
使用'isNaN'的方法也會爲浮點數返回true。 – str
@str謝謝。我更新了這個。 –
請試試這個:
if(Math.floor(manageridEntered) == manageridEntered && $.isNumeric(manageridEntered)){
//code here
}
使用正則表達式,你可以實現它看到下面的代碼
$(document).ready(function() {
$("#button").on("click", function() {
var patt = new RegExp("^[0-9]*$");
if (patt.test($("#number").val())) {
alert("true")
} else {
alert("false")
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="text" id="number" />
<input type="button" id="button" value="Check"/>
我已經使用這種方法,但它仍然沒有選擇我的輸入作爲有效的數字 – user1483145
@ user1483145可能是你想念的東西,你可以看到上面的代碼片段工作正常 – Bharat
採取
var intRegex = /^\d+$/;
var floatRegex = /^((\d+(\.\d *)?)|((\d*\.)?\d+))$/;
var str = $('#myTextBox').val();
if(intRegex.test(str) || floatRegex.test(str)) {
alert('I am a number');
}
例如,你可以使用經典的JavaScript:
var isNumber = Number.isInteger(yournumber);
或者,如果您要檢查,如果它不是(不使用!
):
var isNaN = Number.isNaN(yournumber);
console.log(Number.isInteger(0.1)); // false
console.log(Number.isInteger(1)); // true
console.log(Number.isInteger(-100000)); // true
console.log(Number.isInteger(Math.PI)); // false
console.log(Number.isInteger(-Infinity)); // false
console.log(Number.isInteger(true)); // false
console.log(Number.isInteger(NaN)); // false
console.log(Number.isInteger(0)); // true
console.log(Number.isInteger("10")); // false
您可以使用JavaScript的香草:
success = !manageridEntered.length || parseInt(manageridEntered) == manageridEntered;
isNumeric
正在檢查一個數字(也可以用一個字符串包裝),而不是一個整數。除此之外,isNumeric()
不是總是返回true,您可以在以下代碼片段中看到使用JQuery 2.1.1。
console.log($.isNumeric('a')); // false
console.log($.isNumeric('1')); // true
console.log($.isNumeric(1)); // true
console.log($.isNumeric(1.5)); // true
console.log($.isNumeric('1.5')); // true
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
$('.submitBtn').click(function() {
var Number = $('#Number').val();
if ((Number === "") || ($.isNumeric(Number))) {
alert('Valid NUmber');
}else{
alert('Not Valid NUmber');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<form method="post" action="">
Inateger Value: <input type="text" name="Number" id="Number" />
<input type="submit" value="Submit" class="submitBtn">
</form>
你見過在https://api.jquery.com/jQuery.isNumeric/的文檔?它指出:「[...] $ .isNumeric()只有在參數是數字類型的情況下才返回true,或者如果它是string類型的,並且它可以被強制爲有限數字,則返回true。 – gus27