Tôi có một hộp văn bản, nó có thể có các giá trị như 1 hoặc 1,2 hoặc 1,225,345,21 tức là nhiều giá trị. Nhưng bây giờ tôi muốn xác nhận đầu vào này.RegEx để xác thực JavaScript các số được phân cách bằng dấu phẩy
toString().match(/^(([0-9](,)?)*)+$/)
Đây là mã tôi đang sử dụng. Nó được xác nhận đúng thôi, nhưng một vấn đề khi sử dụng nhập các giá trị như thế này:
inputval:1,22,34,25,645(true)
inputval:1,22,34,25,645,(falues)
Khi người dùng nhập vào dấu phẩy (,) như cuối cùng nó sẽ ném ra một lỗi.
Có thể bất kỳ ai giúp tôi không?
Tôi sẽ xóa hoàn toàn mẫu '(x + y?) +' - nó dễ dàng dẫn đến [backstacking thảm khốc] (http://www.regular-expressions.info/catastrophic.html). – Kobi
@Kobi Như mọi khi, những gì bạn có thể làm và những gì bạn nên làm với regexes là khá khác nhau :-) – xanatos