بررسی نوع داده در جاوا اسکریپت
یکی از اصول اولیه امنیت، بررسی صحت دادهها میباشد و اولین گام بررسی صحت داده، بررسی نوع داده میباشد. مثلا اگر قصد دارید یک شماره تلفن از کاربر دریافت کنید مطمئنا ورودی باید یک عدد باشد و یا نام کاربر باید یک رشته باشد. برای بررسی نوع دادهها در جاوا اسکریپت میتوانید از راهها و توابع معرفی شده در زیر استفاده کنید:
1. رشته
// Returns if a value is a string
function isString (value) {
return typeof value === 'string' || value instanceof String;
}
2. عدد
// Returns if a value is really a number
function isNumber (value) {
return typeof value === 'number' && isFinite(value);
}
3. آرایه
// Returns if a value is an array
function isArray (value) {
return value && typeof value === 'object' && value.constructor === Array;
}
// ES5 actually has a method for this (ie9+)
Array.isArray(value);
4. تابع
// Returns if a value is a function
function isFunction (value) {
return typeof value === 'function';
}
5. شی
// Returns if a value is an object
function isObject (value) {
return value && typeof value === 'object' && value.constructor === Object;
}
6. Null & undefined
// Returns if a value is null
function isNull (value) {
return value === null;
}
// Returns if a value is undefined
function isUndefined (value) {
return typeof value === 'undefined';
}
7. Boolean
// Returns if a value is a boolean
function isBoolean (value) {
return typeof value === 'boolean';
}
8. عبارت منظم
// Returns if a value is a regexp
function isRegExp (value) {
return value && typeof value === 'object' && value.constructor === RegExp;
}
9. خطا
// Returns if value is an error object
function isError (value) {
return value instanceof Error && typeof value.message !== 'undefined';
}
10. تاریخ
// Returns if value is a date object
function isDate (value) {
return value instanceof Date;
}
11. Symbol
// Returns if a Symbol
function isSymbol (value) {
return typeof value === 'symbol';
}




