Một số hàm xử lý validate dữ liệu trong Javascript / Jquery


Validate dữ liệu là rất cần thiết khi bạn lập trình. Nó tránh cho hệ thống của bạn lưu trữ dữ liệu không chính xác, đồng thời cảnh bảo người dùng rằng dữ liệu không đúng để nhập lại.

Dưới đây, VinaSupport sẽ tổng hợp các đoạn source code xử lý validate dữ liệu trong Javascript / 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');
}

Đang cập nhật bài viết…

Nguồn: vinasupport.com

             
SHARE

Bài viết liên quan

mode_edit Bình luận của bạn

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

account_circle
web