Tôi không phải là rất mới với các cụm từ thông dụng, nhưng tôi chưa thể tìm thấy biểu thức đầy đủ cho vấn đề của tôi cho đến thời điểm này:Biểu thức chính quy JavaScript
Tôi muốn kiểm tra chuỗi mà người dùng nhập một textfield. Chuỗi phải bao gồm một hoặc nhiều cụm từ được phân tách bằng dấu chấm phẩy.
thực sự Có hai loại từ ngữ:
Đầu tiên bao gồm một số, tiếp theo là một gạch nối và sau đó theo sau một số lần nữa, ví dụ
1-4
hoặc22-44
Cụm từ thứ hai bao gồm một số và dấu phẩy lặp lại 0 hoặc nhiều lần, ví dụ:
1,2
hoặc4,5,6
Tất cả các từ phải được kết thúc bằng dấu chấm phẩy.
Một đầu vào hợp lệ sẽ là: 1-4;5,6,7;9-11;
hoặc 1,3;4-6;8,9,10;
Tôi đã cố gắng rất nhiều biến thể nhưng không thể tìm ra một giải pháp cho đến nay. Vấn đề của tôi là chuỗi đầu vào này có thể bao gồm bất kỳ số lượng từ nào. Tôi đã cố gắng giải quyết điều này với nhà điều hành OR
và "lookahead", tương ứng, nhưng không thành công.
Mọi trợ giúp sẽ được đánh giá rất cao.
Cảm ơn nhiều, enne
Ví dụ của bạn không khớp với mô tả của bạn. "Đầu vào hợp lệ" đầu tiên bị thiếu dấu chấm phẩy cuối cùng và "22-44" không phải là "một chữ số theo dấu gạch ngang ...". –
Đó là rất đúng Kerrek, thêm một dấu chấm phẩy và thay đổi "chữ số" thành "số". Cảm ơn nhận xét. – enne87