Matn uchun kichik yordamchi
Matnni yozing va so‘zlar hamda bo‘shliq bilan birga belgilar sonini ko‘ring. Bu loyiha input hodisasi va matnni tahlil qilishni o‘rgatadi.
← Loyiha tanlashAvval mazmunini tushunamiz
Bo‘sh matnni split bilan to‘g‘ridan-to‘g‘ri bo‘lsak bitta bo‘sh bo‘lak chiqishi mumkin. Shu sababli avval trim bilan tekshiramiz. Ushbu oddiy so‘z hisoblagich bo‘shliqlar bo‘yicha sanaydi: barcha tillar uchun lingvistik so‘z aniqlovchi emas.
- Matn yozish
- Chekka bo‘shliqlar
- Bo‘shliqda ajratish
- Hisobni yangilash
Tayyor natijani sinab ko‘ring
Bu ishlaydigan lokal namuna. Qiymat kiriting va natijani quyidagi tekshiruvlar bilan solishtiring. Hech qanday ma’lumot serverga yuborilmaydi.
Qadam bilan yaratamiz
- Matn uchun textarea va jonli natija uchun output yarating.
- input hodisasi yozish va o‘chirishdan keyin ishlaydi.
- trim natijasi bo‘sh bo‘lsa so‘z 0; aks holda ketma-ket bo‘shliqlar bo‘yicha ajrating.
- Array.from matnni Unicode kod nuqtalariga ajratadi. Ba’zi emoji bir nechta kod nuqtasidan iboratligini eslang.
To‘liq kod
Kodni index.html nomli faylga saqlang va brauzerda oching. Hech qanday paket o‘rnatilmaydi. Kod ustidagi tugma shu namunaning faylini saqlaydi.
Namuna faylini saqlash<!doctype html><html lang="uz"><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Matn uchun kichik yordamchi</title><style>body{font:18px/1.7 system-ui;padding:20px;color:#173c54}label{display:block;margin:12px 0}input,textarea{display:block;box-sizing:border-box;max-width:100%;width:100%;font:inherit;padding:9px;border:1px solid #8caec4;border-radius:8px}button{font:inherit;padding:9px 12px;border:1px solid #5486a7;border-radius:10px;background:#e4efff;color:#193f61;cursor:pointer}output{display:block;padding:15px;background:#e6f5ed;margin:18px 0;border-radius:12px}li{margin:10px 0}</style><main><h1>Matn uchun kichik yordamchi</h1><label>Matningiz <textarea id="matn" rows="5" placeholder="Bugun kod yozaman"></textarea></label><output id="natija" aria-live="polite">0 so‘z · 0 kod nuqtasi</output></main><script>document.querySelector('#matn').addEventListener('input', event => {
const matn = event.target.value;
const toza = matn.trim();
const sozlar = toza ? toza.split(/\s+/u).length : 0;
const belgilar = Array.from(matn).length;
document.querySelector('#natija').textContent =
`${sozlar} so‘z · ${belgilar} kod nuqtasi (bo‘shliqlar bilan)`;
});</script></html>O‘zingiz tekshiring
- Bugun kod yozaman → 3 so‘z
- Faqat bo‘shliqlar → 0 so‘z
- Ikki so‘z orasidagi bir nechta bo‘shliq hisobni oshirmaydi
Mustaqil rivojlantiring
Belgilar chegarasi 100 bo‘lgan holat uchun qolgan sonni ko‘rsating. Ortiqcha matnni o‘chirmang: faqat tushunarli ogohlantirish chiqaring.
Tartib: faylni saqlang → brauzerda oching → odatiy kirishni tekshiring → xato kirishni tekshiring → bitta yangi imkoniyat qo‘shing. Konsoldagi birinchi xabarni o‘qing; hamma kodni birdan almashtirmang.