Raqam bo'yicha qoida
(Regex Routing) Kiruvchi qo'ng'iroqlarni raqam bo'yicha yo'naltirish
Bu nima?
Raqam bo'yicha qoida (Regex Routing) — ma'lum bir raqamlar guruhidan qo'ng'iroqlarni alohida yo'naltirish uchun ishlatiladi.
Qisqacha: "Agar qo'ng'iroq shu raqamdan (yoki shu formatdagi raqamdan) kelsa — ko'rsatilgan modulga yo'naltiradi, aks holda — boshqa modulga yo'naltiradi."
Ajratilgan raqamlar
6200–6399 diapazonidagi jami 200 ta raqam ajratilgan.
Maydonlar
Uztelecom raqamlari, Rossiya raqamlari / belgilari ichida yoziladi. Nima uchun ^ va $ kerak?
Bu — eng ko'p xato qilinadigan joy. Anchorsiz pattern raqamning istalgan joyida mos kelishi mumkin.
Misol: /998\d{9}/ — ^ va $ yo'q
| Kirish raqam | Mos keladimi? | Nima uchun? |
|---|---|---|
998901234567 | ✓ | To'g'ri |
998901234567890 | ✓ ← xato! | 15 xonali raqam ham o'tib ketadi |
0998901234567 | ✓ ← xato! | Oldindagi 0 e'tiborga olinmadi |
Misol: /^998\d{9}$/ — to'g'ri
| Kirish raqam | Mos keladimi? | Nima uchun? |
|---|---|---|
998901234567 | ✓ | Aniq 12 ta belgi — to'g'ri |
998901234567890 | ✗ | $ — ortiqcha belgilarga yo'l qo'ymaydi |
0998901234567 | ✗ | ^ — boshda ortiqcha belgi yo'q |
Har doim ^ va $ bilan yozing. Anchorsiz pattern kutilmagan raqamlarga ham mos kelishi mumkin.
Regex qoidalari
Pattern har doim / belgilari ichida yoziladi: /pattern/
| Belgi | Nima qiladi | Misol | Nima mos keladi |
|---|---|---|---|
^ | Satr boshidan boshlanishi | /^998/ | 998901234567 — ha, +998... — yo'q |
$ | Satr oxiri bilan tugashi | /567$/ | 998901234567 — ha, 5678 — yo'q |
^ + $ | Aniq shu raqam (boshqa belgi yo'q) | /^998901234567$/ | Faqat 998901234567 |
\d | Istalgan bitta raqam (0–9) | /\d/ | 0, 5, 9 |
\d{n} | Aniq n ta raqam | /\d{12}/ | 12 xonali istalgan raqam |
\d{n,m} | n dan m gacha raqam | /\d{10,12}/ | 10, 11 yoki 12 xonali raqam |
. | Istalgan bitta belgi (raqam ham, harf ham) | /99.90/ | 99890, 99190, ... |
+ | Oldingi belgi 1 yoki ko'p marta | /9+/ | 9, 99, 999, ... |
* | Oldingi belgi 0 yoki ko'p marta | /0*/ | bo'sh ham, 000 ham |
? | Oldingi belgi bo'lishi ham, bo'lmasligi ham mumkin | /\+?998/ | +998... ham, 998... ham |
(a|b) | a yoki b | /(998|996)/ | 998... yoki 996... |
[0-9] | 0 dan 9 gacha bitta raqam | /^[79]/ | 7... yoki 9... bilan boshlanadi |
[^0-9] | Raqam bo'lmagan bitta belgi | /^[^0-9]/ | +..., a... — ha; 9... — yo'q |
(?!...) | Shu narsa bilan boshlanmasin (inkor) | /^(?!998)\d+$/ | +7..., 380... — ha; 998... — yo'q |
i (oxirida) | Katta-kichik harfga e'tibor bermaslik | /^anonymous$/i | anonymous, ANONYMOUS, Anonymous |
Pattern noto'g'ri yozilsa tizim xatolik beradi va qo'ng'iroq "Mos kelmasa" yo'nalishi bo'yicha ketadi.
Misollar
| Nomi | Regex pattern |
|---|---|
| Bitta aniq raqam | /^998901234567$/ |
| Bir nechta aniq raqamlar | /^(998901234567|998901234568|998901234569)$/ |
| Barcha 998 bilan boshlanuvchi 12 xonalik raqamlar | /^998\d{9}$/ |
| Barcha 9 xonalik raqamlar | /^\d{9}$/ |
| Ucell (93, 94) | /^998(93|94)\d{7}$/ |
| Beeline (90, 91) | /^998(90|91)\d{7}$/ |
| Toshkent stasionar (71) | /^99871\d{7}$/ |
| Rossiya (+7 yoki 7) | /^(\+7|7)\d{10}$/ |
| Xorijiy (O'zbekistondan tashqari) | /^(?!998)\d+$/ |
| Yashirin / noma'lum raqam | /^(anonymous|unknown|blocked)$/i |
| 4 xonali raqamlar | /^\d{4}$/ |
| O'zbekiston (+998 bilan) | /^\+998\d{9}$/ |
| 12 xonali istalgan raqam | /^\d{12}$/ |
00 bilan tugaydigan raqamlar | /^\d+00$/ |
| MDH mamlakatlari | /^\+?(7|380|375|374|994|995|996|992|993)\d+$/ |
| Barcha qo'ng'iroqlar | /.*/ |
Eslatmalar
- Bir tizimda 200 tagacha Regex Routing qoidasi yaratish mumkin.
- Qo'ng'iroq kelganda tizim yuboruvchi raqamni pattern'ga solishtiradi — bu avtomatik ishlaydi, hech narsa qo'lda qilish shart emas.
- "Mos kelganda" va "Mos kelmasa" maydonlariga tizimning istalgan modul raqamini ko'rsatish mumkin: operator, navbat, IVR, boshqa Regex Routing qoidasi va h.k.
Regexlarni sinash
regex101.com — Regex patternlarini onlayn sinash va tushunish uchun qulay vosita. PHP rejimini tanlang.