Nó sẽ chỉ làm điều này nếu bạn có tùy chọn chọn ở phía dưới:
Disallow insecure . and [^...] in /RegExp/
Từ the docs:
đúng nếu. và [^ ...] không được phép trong các ký tự RegExp. Không nên sử dụng các biểu mẫu này khi xác thực trong các ứng dụng bảo mật.
Vì vậy, trả lời câu hỏi của bạn, nếu bạn bắt đầu một regex với ^
và nó được chọn, có nó sẽ ném lỗi mỗi lần. Vấn đề là với các ký tự unicode, bạn đang cho phép khá nhiều thứ trong đó và có tiềm năng cho các vấn đề bảo mật hoặc xác thực bỏ qua các vấn đề. Thay vì không cho phép thứ gì đó (có thể bỏ qua), chỉ cho phép chỉ những ký tự hợp lệ.
Nguồn
2010-11-05 19:17:20
Bởi vì đó là JSLint: p Có thể sự phủ định có thể được xem là "chấp nhận quá nhiều" bao gồm các ký tự điều khiển [unicode] vui (nó chỉ có thể đoán tại regex, nó không biết nó ngữ nghĩa). –
FWIW, bạn không cần phải thoát khỏi - nơi bạn có nó. – Robusto
@Robusto, thoát dấu gạch nối rõ ràng trong các lớp ký tự là một đề xuất JSLint khác. –