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