Autor Zpráva
soucekgns
Profil
Mám tento kód:
var inputEmail = $('input:text[name=email]').val();var verEmail = /.+@.+\..+/;
if (verEmail.test(inputEmail) == false) {$('.f_email').show(); verForm = false;}
else {$('.f_email').hide();}

var inputTelefon = $('input:text[name=telefon]').val(); var verTelefon = /^\+420[0-9]{9}$/;
if (verTelefon.test(inputTelefon) == false) {$('.f_telefon').show(); verForm = false;}
else {$('.f_telefon').hide();}

Problém je, že těchto položek mám alespoň 10 a tudíž bych to potřeboval nějak zkrátit (asi do for()?).
Jediné, co se mění, jsou zvýrazněná pole, tedy pouze třída a regulární výraz.
Přemýšlel jsem to nějak zapsat do array (jedno se všemi třídami a druhé s regexps), ale nevím jak tam napasovat ty regexps.

Díky za rady
Str4wberry
Profil
Co použít data- atribut?
<input name=cokoliv data-regexp="/.+@.+\..+/">

A potom v cyklu projít jednotlivé <input>y a otestovat je. Regulární výraz zjistíte z input[index].getAttribute('data-regexp').

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: