Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Rozbicie nr rachunku bankowego
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
ktuvok
Juzer wpisuje w formularzu numer rachunku bankowego bez jakichkolwiek spacji, np:

65106000070000400003256371

W jaki sposób automatycznie wstawić spacje w odpowiednie miejsca stringu, czyli uzyskać postać:

65 1060 0007 0000 4000 0325 6371

?

I drugie pytanie - czy jest sposób, aby wykonać to natychmiast po opuszczeniu przez kursor pola formularza, w którym juzer wpisuje ten numer?

Pozdrawiam,
K
Bakus
Takie coś stosuje www.nazwa.pl do weryfikowania poprawności wprowadzonego adresu NIP... mniewam, iż poradzisz sobie go przerobić na własne potrzeby...
  1. <input type="text" class="text" name="nip" size="13" maxlength="13" onKeyPress="return checkNIP(event, this.form.nip.value)" value="">


Kod
function checkNIP(evt, input) {
    evt = (evt) ? evt : window.event
        var charCode = (evt.which) ? evt.which : evt.keyCode
        if (charCode == 45 && input.charAt(input.length - 1) == '-')
            return false;
    re = /\d\d\d$/;
    if (charCode >= 48 && charCode <= 57 && re.test(input))
        return false;
    if ((charCode >= 48 && charCode <= 57) || charCode == 45)
        return true;
    else
        return false;
}
Paul
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  2. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
  3. <script type="text/javascript">
  4. function formatuj(obj,co_ile){
  5. obj.old = obj.value;
  6. eval('obj.value = strrev(strrev(obj.value).replace(/(.{'+co_ile+'})/g, "$1 "));');
  7. }
  8. function formatuj2(obj){
  9. if(obj.old){
  10. obj.value = obj.old;
  11. }
  12. }
  13. function strrev(str){
  14. return str.split('').reverse().join('');
  15. }
  16. </head>
  17. <input type="text" onfocus="formatuj2(this)" onblur="formatuj(this,4)" size="50">
  18. </form>
  19. </body>
  20. </html>


edit: zmienilem na this, zeby nie trzeba potem juz nic robic smile.gif
marlowe
  1. input { width:250px; }
  2. function formatNr(pole) {
  3. var numer = pole.value;
  4. var nazwa = pole.name;
  5. numer = numer.split('');
  6. numer.splice(2,0,' ');
  7. numer.splice(7,0,' ');
  8. numer.splice(12,0,' ');
  9. numer.splice(17,0,' ');
  10. numer.splice(22,0,' ');
  11. numer.splice(27,0,' ');
  12. numer = numer.join('');
  13. pole.value = numer;
  14. }
  15. <input type="text" name="pole" onblur="formatNr(this)"/><br/>
  16. <input type="text" id="inne" />

Przykład.
Pozdrawiam.
Bartek
--Edit: poprzednia wersja nie działała pod Mozillą, poprawiłem- już działa.
Paul
marlowe: zobacz co sie dzieje po wpisaniu numeru, a nastepnie kilkukrontej aktywacji i dezaktywacji pola...
falkor
A Jak taki kod do rozbicia wygladalby w php?
Czy da sie to zrealizowac na wyrazeniach regularnych?
.
.
.
.
.
.
.
.
.
juz se poradzilem hehe, dla potomnych:

  1. <?php
  2. $zoo = strrev($nrkonta);
  3. $numero = str_split($zoo,4);
  4. $num = implode(' ',$numero);
  5. $zoo = strrev($num);
  6. ?>


kto zrobi krocej - KONKURS!!!! <bez nagord> - hehe

Pozdro
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.