[JS] Postcodecheck

Pagina: 1
Acties:
  • 73 views sinds 30-01-2008

  • StefSOFT
  • Registratie: December 2000
  • Laatst online: 13-04 10:41

StefSOFT

Caravanshaker Nr. 1

Topicstarter
Voor school moet ik een invulformulier maken met een aantal checks.
Nu heb ik het formulier al bijna helemaal af alleen de postcodecheck levert problemen.
Ik moet met behulp van ASCII waarden kijken of een juiste postcode is ingevoerd.
Hierbij moet je gebruik maken van charCodeAt en fromCharcode.

In pseudecode dacht ik aan de volgende uitwerking

code:
1
2
3
4
// check of bij de eerste vier posities de ASCII waarden  
liggen tussen 48 en 57 (incl. 48    en 57)
//check of bij de 5de en 6de positie de ASCII waarden 
liggen tussen 65 en 90 en tussen 97 en 122 (beide incl.)


Maar hoe moet ik dit aanpakken kan ik code bepaalde ranges aangeven? Ik hoor graag een oplossing

'I'm nearly thirty you know. I'm not 15. By now I should be able to talk to a woman without accidentally saying "nipples" or "gusset". Or, or, "Did you know you can make candles out of human fat"'


  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

"Regular Expressions" ben je nodig, zoek daar maar eens op ;)

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:17

crisp

Devver

Pixelated

Als de opdracht is om het met charCode te doen is een regex natuurlijk niet de bedoeling (hoewel het wel de geeigende manier is natuurlijk).

Maar StefSOFT: wat heb je al geprobeert? Heb je al eens een JS tutorial doorgelezen?

Intentionally left blank


  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
PC = "1234 AB";
error = false;

for (var i = 0; i < 4; i++)
{
  if ((PC.charCodeAt(i) > 47) && (PC.charCodeAt(i) < 58)) { error = true; }
}
for (var i = 5; i < 7; i++)
{
  if (((PC.charCodeAt(i) > 65) && (PC.charCodeAt(i) < 91)) && ((PC.charCodeAt(i) > 96) && (PC.charCodeAt(i) < 123))) { error = true; }
}

if (error == true) { //GOEEEEED }

Zo dan :)

[ Voor 47% gewijzigd door André op 03-11-2004 13:24 ]


  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

Heb je overigens al gezocht op 'form validatie', daar zijn diverse topics over geweest hier binnne W&G. Je kan met RegEx eenvoudig de verschillende velden binnen een form valideren, door bv:
JavaScript:
1
2
var reg_exp = new RegExp(/^[a-zA-Z 0-9]+$/i);
var reg_test =_exp.test(TheForm.PostCode.value);

  • KnoppenSpook
  • Registratie: Augustus 2000
  • Laatst online: 04-09-2023
for (var i = 5; i < 2; i++)

Dit lijkt me moeilijk,...

i =5 maar moet kleiner zijn dan 2 om in de loop te komen...

/me weet geen leuke quote voor in zijn signature


  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

KnoppenSpook schreef op 03 november 2004 @ 13:12:
for (var i = 5; i < 2; i++)

Dit lijkt me moeilijk,...

i =5 maar moet kleiner zijn dan 2 om in de loop te komen...
Aangepast ;)

  • grizzlybear
  • Registratie: Oktober 2001
  • Laatst online: 06-05 14:48
André schreef op 03 november 2004 @ 13:08:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
PC = "1234AB";
error = false;

for (var i = 0; i < 4; i++)
{
  if ((PC.charCodeAt(i) > 47) && (PC.charCodeAt(i) < 58)) { error = true; }
}
for (var i = 5; i < 2; i++)
{
  if (((PC.charCodeAt(i) > 65) && (PC.charCodeAt(i) < 91)) && ((PC.charCodeAt(i) > 96) && (PC.charCodeAt(i) < 123))) { error = true; }
}

if (error = true) { //FOOOUUUUTTT }

Zo dan :)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
PC = "1234 AB";
error = false;

for (var i = 0; i < 4; i++)
{
  if ((PC.charCodeAt(i) < 47) || (PC.charCodeAt(i) > 57)) { error = true; }
}
for (var i = 4; i < 6; i++)
{
  if ((PC.charCodeAt(i) < 65) || ((PC.charCodeAt(i) > 91) && (PC.charCodeAt(i) < 96)) || (PC.charCodeAt(i) > 123)) { error = true; }
}

if (error == true) { //FOOOUUUUTTT }

[ Voor 18% gewijzigd door grizzlybear op 03-11-2004 13:17 ]


  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Mjah, dat gaat niet werken dus. Lees die 2de if statement nog maar eens.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:17

crisp

Devver

Pixelated

In een regExp zou ik het zo doen:
JavaScript:
1
var re = /^\d{4} ?[a-zA-Z]{2}$/

(dus met een optionele spatie tussen de cijfers en de letters)

[ Voor 12% gewijzigd door crisp op 03-11-2004 13:21 ]

Intentionally left blank


  • StefSOFT
  • Registratie: December 2000
  • Laatst online: 13-04 10:41

StefSOFT

Caravanshaker Nr. 1

Topicstarter
Het probleem is dat tijdens de les geen aandacht is gegeven aan deze twee funcies.
Wel weet ik wat de methods in principe doen:

code:
1
2
3
4
5
6
//charCodeAt
"ABC".charCodeAt(0) // returns 65

//fromCharcode
Example 1. The following example returns the string "ABC".
String.fromCharCode(65,66,67)


Dit is mij wel duidelijk en nu wou ik het als volgt invoeren:

code:
1
2
3
4
5
6
7
8
9
10
postcode = document.forms[0].elements[postcode].value

if (postcode.charCodeAt( hier dan range 0 naar 3) != range 48/57)
{
alert ("is fout")
}
if (postcode.charCodeAt(range 4 en 5) != range 65 90 of 97 122)
{
alert ("is fout")
}


Hierboven is ongeveer wat ik wil, is wel foute code maar zoiets in ieder geval

Ah zie net grizzlybear: wat is daar mis mee?

Dus ik moet bij At een for-loopje maken
Maar nu zie ik fromCharcode niet terug, zou zelf ook niet weten waar ie moet zitten.

Ga nu eerst maar eens bezig volgens code van grizzly, klasgenoot op MSN (die toch wel wat verstand van Javascript heeft) vraagt zich ook af waarom fromCharCode erin moet. Laat ik bij deze dus even weg.


LETOP:

RegExp komt niet aan de orde (staat niet in opdracht)

[ Voor 46% gewijzigd door StefSOFT op 03-11-2004 13:29 ]

'I'm nearly thirty you know. I'm not 15. By now I should be able to talk to a woman without accidentally saying "nipples" or "gusset". Or, or, "Did you know you can make candles out of human fat"'


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:17

crisp

Devver

Pixelated

Dit is fromCharCode:

JavaScript:
1
2
var str = String.fromCharCode(65,66,67);
alert(str);


en ja, eigenlijk kan je ook zonder...

anyway, het lijkt me dat je er wel verder zelf uit moet kunnen komen. Het is per slot van rekening jouw huiswerk en is eerlijk gezegd ook een beetje te basic voor W&G ;)

[ Voor 61% gewijzigd door crisp op 03-11-2004 13:32 ]

Intentionally left blank

Pagina: 1

Dit topic is gesloten.