بررسی نوع داده در جاوا اسکریپت
یکی از اصول اولیه امنیت، بررسی صحت دادهها میباشد و اولین گام بررسی صحت داده، بررسی نوع داده میباشد. مثلا اگر قصد دارید یک شماره تلفن از کاربر دریافت کنید مطمئنا ورودی باید یک عدد باشد و یا نام کاربر باید یک رشته باشد. برای بررسی نوع دادهها در جاوا اسکریپت میتوانید از راهها و توابع معرفی شده در زیر استفاده کنید:
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'; }