Toon posts:

[Javascript] Checken eerste 2 tekens loginnaam

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ben bezig met een script waarbij de loginnaam niet mag starten met 2 cijfers:

dit check ik op deze manier:

code:
1
2
3
4
5
6
7
8
9
10
11
12
function controleerlogin(){
var loginnaam = document.Zoek.login.value;
var eerste = loginnaam.substr(0,1);
var tweede = loginnaam.substr(1,2);
if (isNan(eerste)) && (isNan(tweede)){
return false;
}else{
alert('loginnaam mag niet met 2 cijfers beginnen');
document.Zoek.login.value = '';
document.Zoek.login.focus();
}
}


met als form name="Zoek" en de veldnaam=login onblur="controleerlogin()"

ik krijg de volgende melding syntaxisfout

en daarna object verwacht

Iemand een idee waar de fout zit ??

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 09-01 11:25

D2k

isNan?
en op welke regel?

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
FUNCTION: isNaN

--------------------------------------------------------------------------------
isNaN(testvalue)

The isNaN function is used to determine if the argument, testvalue, is a NaN.

A NaN, which means "Not-a-Number", is classified as a primitive value by the ECMA-262 standard and indicates that the specified value is not a legal number. The function returns true if the argument is not a number and false if the argument is a number.

The classic example of a NaN is zero divided by zero, 0/0.

syntaxisfout regel 298 (in de buurt van het script maar niet een concrete
object verwacht op regel 730 (valt totaal buiten dit script);

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 09-01 11:25

D2k

uhm waarom zou je false returnen als het 2x "not-a-number" is?
code:
1
2
3
if (isNan(eerste)) && (isNan(tweede)){
return false;
}

lijkt me dat je daar true wil hebben

Doet iets met Cloud (MS/IBM)


Verwijderd

bij 't checken is de substr nog een String, dus als je dit doet, dan zou 't moeten werken:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
function controleerlogin(){
var loginnaam = document.Zoek.login.value;
var eerste = isNaN(parseInt(loginnaam.substr(0,1)))? 1:0;
var tweede = isNaN(parseInt(loginnaam.substr(1,2)))? 1:0;
if (eerste && tweede){
return false;
}else{
alert('loginnaam mag niet met 2 cijfers beginnen');
document.Zoek.login.value = '';
document.Zoek.login.focus();
}
}

Verwijderd

Topicstarter
Als het beide geen nummers zijn return ik false en ga ik verder met het invullen/uitvoeren van het form

Verwijderd

Topicstarter
ok het werkt nu _/-\o_

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 09-01 11:25

D2k

false returnen als iets goed is?
de logica ontgaat me

Doet iets met Cloud (MS/IBM)

Pagina: 1