Javascript + Regex = Không có gì để lặp lại lỗi?

Tôi mới làm quen với Regex và tôi đang cố gắng đưa nó vào một trong những dự án mới của mình để xem liệu tôi có thể học nó và thêm nó vào kho kỹ năng của mình hay không. Tuy nhiên, tôi đang gặp phải rào cản ở đây.

Tôi đang cố gắng xem liệu đầu vào của người dùng có các ký tự bất hợp pháp trong đó hay không bằng cách sử dụng hàm .search như vậy:

if (name.search("[\[\]\?\*\+\|\{\}\\\(\)\@\.\n\r]") != -1) {
    ...
}

Tuy nhiên, khi tôi cố gắng thực thi chức năng mà dòng này chứa nó, nó gây ra lỗi sau cho dòng cụ thể đó:

Uncaught SyntaxError: Invalid regular expression: /[[]?*+|{}\()@.

]/: Nothing to repeat

Tôi không thể suốt đời xem mã của mình có gì sai. Có ai có thể chỉ cho tôi đúng hướng không?

63
задан esqew 11 November 2015 в 15:20
поделиться