Kiểm tra dữ liệu là một phần rất quan trọng khi bạn thực hiện lập trình. Nó giúp tránh cho hệ thống của bạn lưu trữ thông tin sai lệch và cũng cung cấp thông báo cho người dùng rằng dữ liệu họ cung cấp không hợp lệ, từ đó yêu cầu họ nhập lại thông tin đúng.
Dưới đây, chúng tôi sẽ tổng hợp một số đoạn mã nguồn để thực hiện kiểm tra và xác minh dữ liệu trong Javascript và jQuery.
Kiểm tra / Validate dữ liệu rỗng (Empty)
/** * Validate value is empty * @method validateEmpty * @param {*} value * @return {Boolean} */ function validateEmpty(value) { return (value === ''); }
Hoặc
/** * Validate value is empty * @method validateEmpty * @param {*} value * @return {Boolean} */ function validateEmpty(value) { return (value.length === 0); }
Kiểm tra dữ liệu kiểu số (Number)
/** * Validate value is number * @method validateNumber * @param {*} value * @return {Boolean} */ function validateNumber(value) { return (!isNaN(Number(value)) && /^d+$/.test(value)); }
Kiểm tra định dạng Email
/** * Validate Email Address * @method validateEmail * @param {String} email * @return {Boolean} */ function validateEmail(email) { var re = /^(([^<>()[]\.,;:s@"]+(.[^<>()[]\.,;:s@"]+)*)|(".+"))@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}])|(([a-zA-Z-0-9]+.)+[a-zA-Z]{2,}))$/; return re.test(String(email).toLowerCase()); }
Kiểm tra dữ liệu kiểu thời gian (Datetime)
/** * Validate value is date * @method validateDatetime * @param {*} value * @return {Boolean} */ function validateDatetime(value) { const datetime = new Date(value); return (datetime instanceof Date && !isNaN(datetime.valueOf())); }
Kiểm tra đầu vào là 1 file
/** * Validate File * @method validateFile * @param {*} value */ function validateFile(value) { return (typeof value === 'object' && value.constructor === File); }
Kiểm tra định dạng file
/** * Validate File Types * @method validateFileTypes * @param {String} allowTypes * @param {String} file */ function validateFileTypes(allowTypes, file) { const allowTypeArr = allowTypes.split(','); return (allowTypeArr.indexOf(file.type) !== -1); // No support IE8 } validateFileTypes('docx,xlsx,pdf,jpg,png', 'https://vinasupport.com/logo.png');
Kiểm tra biến chưa được định nghĩa (Undefined)
if (typeof myVar === 'undefined') { // myVar is undefined }
Kiểm tra 1 DOM có tồn tại hay không (Jquery)
if ($('#your_div').length > 0) { console.log('Your div exists'); }