Regex không nối với dấu phẩy

Mình có 1 cái regex như thế này:

/^[^_`~!@#$%^&*()\-_+={}[\]|\\:;"'<>.?/]+$/gi

Mình kiểm tra trên trang này (https://www.regextester.com/27540) với dữ liệu là

Hoang Minh, Nha Trang

Thì nó khớp. Nhưng đưa vào jquery để bắt lỗi input những kí tự lạ thì nó lại không khớp :frowning:

Đây là đoạn code của mình trong source:

checkValidate("#street", /^[^_`~!@#$%^&*()\-_+={}[\]|\\:;"'<>.?/]+$/gi, ".form-group", ".street", "Bạn đang nhập kí tự lạ! Vui lòng nhập lại!", true);
function checkValidate(element_check, regex, parent_closest, element_error, text_error1, check_empty){
    $(element_check).focusout(function(){
        var pattern = regex;
        var value = $(this).val();
        if(check_empty == false){
            if(!pattern.test(value) && value != "") {
                $(this).closest(parent_closest).find(element_error).attr("style", "display:block");
                $(this).closest(parent_closest).find(element_error).text(text_error1);
            }
            else{
                $(this).closest(parent_closest).find(element_error).attr('style', 'display: none');
            }
        }
        else{
            if(value == ''){
                $(this).closest(parent_closest).find(element_error).attr("style", "display: block;");
                $(this).closest(parent_closest).find(element_error).text("Bạn vui lòng nhập dữ liệu vào trường này"); 
            }
            else{
                var preName = /^[^_`~!@#$%^&*()\-_+={}[\]|\\:;"'<,>.?/]+$/gi;
                if(!preName.test(value)) {
                    $(this).closest(parent_closest).find(element_error).attr("style", "display: block");
                    $(this).closest(parent_closest).find(element_error).text(text_error1); 
                
                }
                else{
                    $(this).closest(parent_closest).find(element_error).attr('style', 'display: none');
                }
            }
        }
    });
}

Kết quả: Khi nhập dữ liệu Hoang Minh, Nha Trang thì nó ra như sau:


Tại sao vậy các bác? :frowning:

Hai chuỗi rõ ràng khác nhau mà :3

/^[^_`~!@#$%^&*()\-_+={}[\]|\\:;"'<>.?/]+$/gi
/^[^_`~!@#$%^&*()\-_+={}[\]|\\:;"'<,>.?/]+$/gi
8 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?