2010-07-01 37 views
7

Regex ở trên để xác thực mã zip dường như cho phép dấu chấm than (!) Mặc dù tôi chưa cho phép nó ở đây. Bạn không chắc chắn sai lầm là gì? Tôi có cần phải thay đổi mẫu regexLàm cách nào để ngăn chặn các dấu chấm than thông qua một regex

+0

Nó không có vẻ với tôi, regex này chỉ chấp nhận số dấu gạch ngang và dấu chấm. Bạn có thể đưa ra một ví dụ? – Toto

+0

Bạn không cần phải thoát khỏi không gian. '[0-9 .-]' hoạt động tốt. – musiKk

+0

Ahh vâng, chúng tôi đã làm tất cả điều này :-) –

Trả lời

10

Dấu gạch ngang - là một metacharacter bên trong character classes trừ khi đó là ký tự đầu tiên hoặc cuối cùng. Thay đổi nó thành:

^[0-9\\ .-]+$ 

[0-9\\ -.] nghĩa là bất kỳ nhân vật 0-9 (tất cả các chữ số), dấu chéo ngược \, và bất kỳ nhân vật từ vũ trụ (ASCII 32) với cùng kỳ (ASCII 46) which translates to:

!"#$%&'()*+,-. 
Các vấn đề liên quan