/[0-9]+/
cũng sẽ phù hợp với những người bị mất nhiều, như 999
Làm cách nào để khớp số từ 0 đến 255 bằng cách sử dụng regex trong PHP?
Làm thế nào để viết một regex phù hợp chính xác số giữa 0~255
?
/[0-9]+/
cũng sẽ phù hợp với những người bị mất nhiều, như 999
Làm cách nào để khớp số từ 0 đến 255 bằng cách sử dụng regex trong PHP?
Làm thế nào để viết một regex phù hợp chính xác số giữa 0~255
?
Có một cái nhìn here:
000..255: ^([01][0-9][0-9]|2[0-4][0-9]|25[0-5])$
0 or 000..255: ^([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])$
Giải pháp đơn giản nhất sẽ lấy số lượng, chuyển đổi sang một số nguyên và sau đó kiểm tra rằng đó là giá trị được < = 255. Nhưng nếu bạn thực sự, thực sự muốn có một regex để làm điều đó, thì đây sẽ làm việc:
^([0-9]{1,2}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5])$
Sửa cố định vì nó d không hoạt động trong mọi tình huống. Thành thật mà nói, đây là lý do tại sao bạn chỉ cần phân tích chuỗi thành số nguyên và kiểm tra giá trị số nguyên là < = 255.
Điều đó có ** không ** khớp 150 đến 199 btw – YOU
S.Mark: Cập nhật câu trả lời của tôi, cảm ơn :) –
Thực tế, bạn chỉ cần khớp 0-999 và chuẩn hóa các giá trị sau đó, nhưng .. .
/(25[0-5])|(2[0-4][0-9])|(1[0-9][0-9])|([0-9][0-9])|([0-9]))/
Hoặc chỉ bắt bất kỳ số nguyên nào với/(\ d +) / –
tôi sẽ làm:
$n >= 0 && $n <= 255
Regex là tốt nhưng họ có thể tránh được trong những trường hợp như thế này.
nhóm đầu tiên phù hợp với 0-99, thứ hai 100-199, 200-249 thứ ba, thứ tư 250-255
/[0-9]{1,2}|1[0-9]{2}|2[0-4][0-9]|25[0-5]/
Có hoặc không có số không hàng đầu ?, tức là 001 vv –
* (liên quan) * http://stackoverflow.com/questions/2738762/unsigned-tinyint-in-php – Gordon