Autor Zpráva
Jannes
Profil
Potrebujem poradiť. Výsledkom skriptu je číslo v tvare napr: 123456789.
Ja by som potreboval aby malo takýto tvar: 123.456.789
Str4wberry
Profil
Můžeš použít třeba tuto hotovou funkci.
Borius
Profil
Nebo něco jednoduššího regulárním výrazem, např.
cislo=cislo.replace(/\(d{3})/g,"$1.");
peta
Profil
Borius:
123.456.789.0
123.456.789
123.456.78
123.456.7
To asi nebude uplne to prave.
Borius
Profil
peta:
Nebylo řečeno, zda seskupovat trojice od začátku nebo od konce. Pakliže od konce, potom malinká úprava:
cislo=cislo.replace(/(\d{3})/g,".$1");
Str4wberry
Profil
To není o moc lepší.
Borius
Profil
Do třetice a naposledy:
cislo=cislo.split("").reverse().join("");
cislo=cislo.replace(/(\d{3})/g,"$1.");
cislo=cislo.split("").reverse().join("");
Leč musí to jít i jednodušeji…
Str4wberry
Profil
Už skoro dobrý. :–)
Borius
Profil
if (cislo.length>3){
  cislo=cislo.split("").reverse().join("");
  cislo=cislo.replace(/(\d{3})/g,"$1.");
  cislo=cislo.split("").reverse().join("");
}
Sakryš, to by měl být jednoduchý kód na jediném řádku s využitím 1–2 nativních funkcí :-O
Nelíbí se mi to… Věřím, že onen jednoduchý regulární výraz je možné stvořit.
Str4wberry
Profil
Ta hotová funkce, co jsem odkazoval, používá:
cislo = cislo.replace(/\B(?=(?:\d{3})+(?!\d))/g, ".");
Borius
Profil
Geniální!
Jo, máš vskutku pravdu, už to tam uvnitř vidím.
Jannes
Profil
Vďaka vám páni. Aj keď to asi nepochopím funguje to perfektne.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: