Domovská » UI / UX » Jak vytvořit jednoduchý výběr telefonního čísla

    Jak vytvořit jednoduchý výběr telefonního čísla

    Telefonní čísla, Kromě jmen a e-mailů jsou nejčastěji používané kontaktní informace v online formulářích. Pole telefonního čísla jsou obvykle navržena způsobem, který vyžaduje, aby uživatelé zadávali čísla pomocí klávesnice. Tato metoda často vede k nepřesnému zadání dat.

    Na snížit vstupní chyby uživatele a zlepšit uživatelský komfort vašich stránek, můžete vytvořit GUI který umožňuje uživatelům rychle zadávat své telefonní číslo způsobem, který je obdobný jako při výběru data.

    V tomto tutoriálu uvidíte, jak do vstupního pole přidejte jednoduchý výběr telefonního čísla. Použijeme HTML5, CSS3 a JavaScript, abychom se dostali do grafického uživatelského rozhraní. Používáme také regulární výrazy, abychom zajistili, že uživatelé skutečně zadají platné telefonní číslo.

    1. Vytvořte pole Telefonní číslo

    První, vytvořit vstupní pole s ikonou vytáčení vpravo, která po kliknutí otevře obrazovku vytáčení. Ikona vytáčení vypadá jako 9 černých krabic, uspořádaných 3 po 3, musí mít rád to, co vidíte na běžném telefonu.

    Používám tel vstup pro správnou sémantiku HTML5, ale můžete použít i text Pokud chcete, zadejte typ vstupu.

     
    HTML základna pro výběr telefonního čísla
    2. Vytvořte obrazovku Dial

    vytočit obrazovku je mřížka čísel 0 až 9 plus některé speciální znaky. Může být vyrobeno buď HTML

    nebo JavaScript.

    Zde vám ukážu, jak vytvořit tabulku číselníku v jazyce JavaScript. Tuto tabulku můžete samozřejmě přidat přímo do zdrojového kódu HTML, pokud to dáváte přednost.

    Nejprve vytvořte nový 'stůl' prvek v DOM pomocí createElement () metoda. Dej to 'vytáčení' identifikátor.

     / * Vytvořit obrazovku vytáčení * / var dial = document.createElement ('tabulka'); dial.id = 'vytáčení'; 

    Přidat pro smyčka pro vložení čtyř řádků číselníku. Pak pro každý řádek, spustit další pro smyčka za účelem přidání tří buněk na řádek. Označte každou buňku s 'dialDigit' třída.

     pro (var rowNum = 0; rowNum < 4; rowNum++)  var row = dial.insertRow(rowNum); for (var colNum = 0; colNum < 3; colNum++)  var cell = row.insertCell(colNum); cell.className = 'dialDigit'; cell.textContent = ((colNum + 1) + (rowNum * 3)).toString();   

    Dva pro smyčky nad vypočítat číslice, které jdou do buněk tabulky čísel - hodnoty cell.textContent vlastnictví - následujícím způsobem:

     (colNum + 1) + (rowNum * 3) / * první řádek * / (0 + 1) + (0 * 3) = 1 (1 + 1) + (0 * 3) = 2 (2 + 1) + ( 0 * 3) = 3 / * druhá řada * / (0 + 1) + (1 * 3) = 4 (1 + 1) + (1 * 3) = 5 (2 + 1) + (1 * 3) = 6 / * atd. * / 

    Poslední řádek je jiný, jak se skládá dvou speciálních znaků, - a + které se používají ve formátech telefonních čísel k identifikaci regionálních kódů a číslice 0.

    Chcete-li vytvořit poslední řádek na obrazovce vytáčení, přidejte následující -li prohlášení vnitřní pro smyčka.

     pro (var rowNum = 0; rowNum < 4; rowNum++)  var row = dial.insertRow(rowNum); for (var colNum = 0; colNum < 3; colNum++)  /* if last row */ if (rowNum === 3)  cell = row.insertCell(colNum); cell.textContent = '-'; cell.className = 'dialDigit'; cell = row.insertCell(colNum); cell.textContent = '0'; cell.className = 'dialDigit'; cell = row.insertCell(colNum); cell.textContent = '+'; cell.className = 'dialDigit'; break;  cell = row.insertCell(colNum); cell.className = 'dialDigit'; cell.textContent = ((colNum + 1) + (rowNum * 3)).toString();   

    obrazovka volby je nyní dokončena, přidejte ho do #dialWrapper Kontejner HTML, který jste vytvořili v kroku 1 pomocí dvě metody DOM:

    1. querySelector () metodu vyberte kontejner
    2. appendChild () metodu připojte obrazovku vytáčení - konané v ciferník proměnná - do kontejneru
     document.querySelector ('# dialWrapper'). appendChild (vytáčení); 
    Tabulka číselníku bez stylingu
    3. Styl obrazovky Dial

    Aby bylo atraktivnější, styl obrazovky vytáčení s CSS.

    Nemusíte se nutně držet mého stylu, ale nezapomeňte přidat user-select: none; vlastnictví #dial kontejner tak, že zatímco uživatel klikne na číslice, text nebude vybrán kurzorem.

     #dial width: 200px; výška: 200px; hraniční kolaps: kolaps; zarovnání textu: střed; poloha: relativní; -ms-user-select: none; -webkit-user-select: none; -moz-user-select: none; user-select: none; barva: # 000; box-shadow: 0 0 6px # 999;  .dialDigit border: 1px solid #fff; kurzor: ukazatel; barva pozadí: rgba (255,228,142, .7);  
    Tabulka číselníku se stylem
    4. Na obrazovce klepněte na položku Obrazovka vytáčení

    Nejprve přidejte viditelnost: skrytá; styl pravidlo #dial ve výše uvedených CSS na skrýt obrazovku vytáčení ve výchozím stavu. Zobrazí se pouze tehdy, když uživatel klikne na ikonu vytáčení.

    Potom přidejte obslužnou rutinu události klepnutí do ikony vytáčení s JavaScriptem na přepnout viditelnost obrazovky.

    K tomu je třeba použít výše uvedené querySelector () a addEventListener () metody. Dopis připojí událost click na ikonu vytáčení a volání vlastní toggleDial () funkce.

    toggleDial () funkce změní viditelnost obrazovky vytáčení ze skrytého na viditelný a zpět.

     document.querySelector ('# dialIcon'). addEventListener ('click', toggleDial); function toggleDial () dial.style.visibility = dial.style.visibility === 'skryté' || dial.style.visibility === "? 'Viditelné': 'skryté'; 
    5. Přidejte funkci

    Přidat vlastní funkci, která zadává číslice do pole telefonního čísla na cvaknutí buněk obrazovky.

    vytočit číslo() funkce postupně přidává číslice na textObsah vlastnost vstupního pole označeného #telefonní číslo identifikátor.

     phoneNo = document.querySelector ('# phoneNo'); funkce dialNumber () phoneNo.value + = this.textContent;  dialDigits = document.querySelectorAll ('. dialDigit'); pro (var i = 0; i < dialDigits.length; i++)  dialDigits[i].addEventListener('click', dialNumber);  

    Teď máte pracovní obrazovka do pole pro zadání telefonního čísla.

    Chcete-li držet krok s CSS, změňte barvu pozadí číslic v jejich :vznášet se a :aktivní (když na něj uživatel klikne) uvádí.

     .dialDigit: hover pozadí-barva: rgb (255,228,142);  .dialDigit: active background-color: # FF6478;  
    6. Přidání ověření regulárního výrazu

    Přidat jednoduchá validace regexu pro ověření telefonního čísla, zatímco uživatel zadá číslice do vstupního pole. Podle platných validačních pravidel může telefonní číslo začínat pouze číslicemi nebo čísly + a přijmout - poté.

    Vizualizaci mého regulárního výrazu můžete vidět na obrazovce níže vytvořené pomocí aplikace Debuggex.

    Vizualizace Regex z debuggex.com

    Telefonní číslo můžete také ověřit podle formátu telefonního čísla vaší země nebo oblasti.

    Vytvořte nový objekt regulárního výrazu a uložte jej do vzor proměnná. Vytvořte také vlastní ověřit() funkce, která kontroluje, zda zadané telefonní číslo splňuje regulární výraz, a jestli je to nejméně 8 znaků.

    Když vstup není ověřen, ověřit() funkce dát zpětnou vazbu uživatele.

    Já jsem přidání červeného ohraničení pokud je vstup neplatný, můžete uživatele informovat jinými způsoby, například chybovými zprávami.

     pattern = new RegExp ("^ (+ d 1,2)? (d + - * d +) * $"); funkce validovat (txt) // nejméně 8 znaků pro platné telefonní číslo. if (! pattern.test (txt) || txt.length < 8)  phoneNo.style.border = '2px solid red'; return false;  else phoneNo.style.border = 'initial'; return true;  
    7. Proveďte ověření

    ověřit() funkce je třeba zavolat k provedení ověření. Zavolej to z vytočit číslo() funkce, kterou jste vytvořili v kroku 5 za účelem ověření hodnoty telefonní číslo proměnná.

    Všimněte si, že jsem také přidal dodatečné ověření pro maximální počet znaků (nesmí být větší než 15) pomocí -li prohlášení.

     funkce dialNumber () var val = phoneNo.value + this.textContent; // maximální povolený počet znaků, 15 (val.length> 15) return false; validovat (val); phoneNo.value = val;  

    Tvůj telefonní číslo je nyní připraven, podívejte se na poslední demo níže.

    © Savtec
    Užitečné informace a tipy pro vývoj webových aplikací. Programování, webdesign, CSS, HTML, JAVASCRIPT. Nakonfigurujte a znovu nainstalujte Windows. Vytváření webů a aplikací od nuly.