Autor Zpráva
stepanka
Profil *
Ahoj,

prosím, pomohl by mi někdo s jednoduchým regulárním výrazem?

Mám ID inputu ve tvaru "d1", "d2", "d3", "d15", "d18", "dnějaké číslo" a potřebovala bych ho v JavaScritpu zapsat pomocí regulárního výrazu.

Zkouším něco jako
document.getElementById(/^d([0-9])$/)


ale nedaří se.

Moc děkuju.
Chamurappi
Profil
Reaguji na stepanku:
ale nedaří se
Metoda document.getElementById hledá jen podle konkrétního řetězce a vrací jen jeden element.

Je těch možných čísel nějaké konečné rozumné množství? Jestli ano, doporučuji projet cyklem postupně všechny varianty přes document.getElementById. Jestli ne, bude zapotřebí projít všechny existující elementy (vybrané pomocí document.getElementsByTagName("*")) a u každého zkontrolovat ID.
__construct
Profil
Našiel som niečo takéto :
var re = new RegExp(/^d\d+$/);
for(i=0; i<document.MenoFormu.elements.length; i++){
  var m = re.exec(document.MenoFormu.elements[i].name);  
  if (m != null) {
     //ak element existuje urob niečo
  }
}
stepanka
Profil *
Chamurappi, __construct:

moc vám děkuju. Vyřeším to jak píše Chamurappi, těch inputů je jen pár.
Witiko
Profil
Nebylo by nakonec rozumnější dát veškerým elementům stejný name a poté je jen získat v poli přes document.getElementsByName() ?

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:

Prosím používejte diakritiku a interpunkci.

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

0