Toon posts:

javascript: volgorde karakters in string bepalen..

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi,

In het kader van een formvalidatie wil ik graag checken of mensen een goed email adres invullen.

daarvoor gebruik ik oa deze code:

<b>if (emailadres=='' | emailadres.indexOf("@")==-1 | emailadres.indexOf(".")==-1 )</b>

Ik kijk dus of er uberhaupt een emailadres wordt ingevuld en of er een @ en een punt in het ingevulde staat.

Echter het maakt niet uit in welke volgorde de punt en de @ voorkomen. Hoe kan ik dat ondervangen?

Thanks,

Fjobje

Verwijderd

ik denk iets van:

if (emailadres.IndexOf("@") > emailadres.IndexOf("."))

ik zou dit trouwens niet doen, want er zijn veel emailadressen met een punt voor het @-teken, zoals die van mij bij mijn school...

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

var re=/^[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)*@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/

if(re.test(emailadres){
// email ok
}

Dat heet een reguliere expressie.

  • j_du_pee
  • Registratie: Maart 2000
  • Laatst online: 23-09-2024

j_du_pee

du pain, du vin, du pee

code:
1
if (emailadres.indexOf("@")< emailadres.indexOf("."))

zoiets :?

Junt was iets sneller, nahja great minds think alike :P

kaart != map && bottel != fles
Wacht op antwoord


Verwijderd

nog liggen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function check1(email){
        if (!(email==null)||(email=='')){
            var s=email.split('@');
            if((s.length !=2) || (s[0]=='') || (s[1] =='')) 
                return 0;
            else
                {
                s=s[1].split('.');
                if((s.length<2) || (s[0]=='') || (s[1] =='')) 
                    return 0;
                }
    }
        return 1;
    }

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

Op woensdag 27 maart 2002 15:02 schreef Fjobje het volgende:
Hoi,

In het kader van een formvalidatie wil ik graag checken of mensen een goed email adres invullen.

daarvoor gebruik ik oa deze code:

<b>if (emailadres=='' | emailadres.indexOf("@")==-1 | emailadres.indexOf(".")==-1 )</b>

Ik kijk dus of er uberhaupt een emailadres wordt ingevuld en of er een @ en een punt in het ingevulde staat.

Echter het maakt niet uit in welke volgorde de punt en de @ voorkomen. Hoe kan ik dat ondervangen?

Thanks,

Fjobje
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function checkEmail(string)
{
if (string != '')
{
index = string.indexOf("@");
if ((string.index > -1) && (string.indexOf(".", index) > -1) ) 
{
alert('\/\/031 :) je email adres is goed.');
}
else
{
alert('je bakt er niks van met dat e-mail adres. vul em nog maar es in');
}
}

something like that. je kan indexOf ook nog een starting pos meegeven :)

Stop uploading passwords to Github!


Verwijderd

gebruik regular expressions, dat werkt heel wat beter dan een hele lap code, die niets waterdichts kan leveren.

[topic=391249/1/50]
Hier kun je ook een paar voorbeelden vinden.

  • cutter
  • Registratie: November 2000
  • Laatst online: 28-09-2025

cutter

Wannabe i7 fanboy

http://bosmonster.b2f.nl/formval/formval.html

ff spammen voor je bosmonster :):)

Verwijderd

Topicstarter
Even, wegens password problemen, nog een verlaat dankwoord voor de snelle reacties!

Cheers!!!

  • FitNiX
  • Registratie: April 2001
  • Laatst online: 07-09 21:39
Zo heb ik het zelf gedaan:
* FitNiX Methode 1
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  //bovenin je functie haal je je variabelen op, dat is netter vind ik dan.
  string_Mail     = strnaam = formulier.mail.value;

  //Ophalen van de locatie van het "@" en de "."
  index_Apenstaartje = string_Mail.indexOf("@");
  index_Punt       = string_Mail.indexOf(".");

  // Controle op juiste invoer email
  else if (string_Mail.length == 0)
  {
    alert("U dient een email adres in te voeren");
    submitOK="False";
  }
  else if (index_Apenstaartje == -1 || index_Punt == -1) 
  {
    alert("U heeft geen geldig email adres ingevuld");
    submitOK="False";
  }
  else if ((string_Bericht == 0))
  {
    alert("Je dient een bericht in te typen.")
    submitOK="False";
  }

* FitNiX Methode 2
code:
1
2
3
4
5
6
7
8
9
<!-- Begin
function checkEmail(myForm) {
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(myForm.emailAddr.value)){
return (true)
}
alert("Er is geen geldig e-mail adres ingevuld! Voer hem aub opnieuw in.")
return (false)
}
//  End -->

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Kermit:
code:
1
if (/regex/.test(str))
wow, dat is een vorm van autoboxing die ik nog niet kende :)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz

Pagina: 1