2016-09-21 15 views
5

Điều này chỉ hoạt động cách đây một ngày nhưng bây giờ đã ném ngoại lệ. Tôi đã dán regex vào trình xác minh trực tuyến và có vẻ tốt?Tại sao cụm từ thông dụng này không hợp lệ?

Tôi đang thiếu gì?

<input type="text" class="form-control" name="nickname" id="nickname" value="Alicia" 
     pattern="[\w\s\-\(\)\!\,\.]{3,45}"> 

Pattern attribute value [\w\s\-\(\)\!\,\.]{3,45} is not a valid regular expression: Uncaught SyntaxError: Invalid regular expression: /[\w\s\-\(\)\!\,\.]{3,45}/ : Invalid escape

Thanks for the help!

Casey

Trả lời

6

Có vẻ hợp lệ với tôi mặc dù Chrome thực sự phàn nàn.

Trong mọi trường hợp, bạn không cần phải thoát khỏi tất cả các ký tự đó trong một lớp ký tự. Bạn sẽ có thể sử dụng

pattern="[\w\s()!,.-]{3,45}" 

có vẻ phù hợp với tôi.

+0

Tôi gặp vấn đề tương tự với một regex hợp lệ rất đơn giản (đã sử dụng trong nhiều năm) và phiên bản mới nhất của Chrome đang cho tôi lỗi giống như OP và cửa sổ bật lên "Vui lòng khớp định dạng được yêu cầu" phá vỡ trang đăng nhập tôi có. – jdf

+0

Trang đăng ký của chúng tôi đã bị lỗi với lỗi "Thoát không hợp lệ" trên Chrome và "mẫu không phải là regexp hợp lệ: thoát danh tính không hợp lệ trong biểu thức chính quy" trong Firefox mặc dù regex đó hoạt động trong nhiều tháng. Đã có một dấu nháy đơn thoát ra '\' 'trong một lớp nhân vật, điều này gây ra rắc rối. –

+0

cảm ơn, nó tiết kiệm giờ – saqibahmad

Các vấn đề liên quan