এটি নির্ভর করে, আপনিও সম্ভাব্য পূর্ণসংখ্যার মতো স্ট্রিংও কাস্ট করতে চান?
এটি করবে:
function isInt(value) {
return !isNaN(value) &&
parseInt(Number(value)) == value &&
!isNaN(parseInt(value, 10));
}
বিটওয়াইজ অপারেশন সহ
সাধারণ পার্স এবং চেক
function isInt(value) {
var x = parseFloat(value);
return !isNaN(value) && (x | 0) === x;
}
শর্ট সার্কিট এবং পার্স অপারেশন সংরক্ষণ করে:
function isInt(value) {
if (isNaN(value)) {
return false;
}
var x = parseFloat(value);
return (x | 0) === x;
}
অথবা সম্ভবত উভয়ই এক শট:
function isInt(value) {
return !isNaN(value) && (function(x) { return (x | 0) === x; })(parseFloat(value))
}
পরীক্ষা:
isInt(42) // true
isInt("42") // true
isInt(4e2) // true
isInt("4e2") // true
isInt(" 1 ") // true
isInt("") // false
isInt(" ") // false
isInt(42.1) // false
isInt("1a") // false
isInt("4e2a") // false
isInt(null) // false
isInt(undefined) // false
isInt(NaN) // false
এই হিটটি এখানে: http://jsfiddle.net/opfyrqwp/28/
কর্মক্ষমতা
পরীক্ষাটি প্রকাশ করে যে সংক্ষিপ্ত-সার্কিট সমাধানটি সেরা পারফরম্যান্স (অপ্স / সেকেন্ড) রয়েছে।
// Short-circuiting, and saving a parse operation
function isInt(value) {
var x;
if (isNaN(value)) {
return false;
}
x = parseFloat(value);
return (x | 0) === x;
}
এখানে একটি মানদণ্ড দেওয়া হয়েছে:
http://jsben.ch/#/htLVw
আপনি যদি একটি সংক্ষিপ্ত, শর্ট সার্কিটের বিমূ form় ফর্ম কল্পনা:
function isInt(value) {
var x;
return isNaN(value) ? !1 : (x = parseFloat(value), (0 | x) === x);
}
অবশ্যই, আমি মিনিফায়ারটিকে এটির যত্ন নেওয়ার পরামর্শ দেব।
parseInt।