/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Regexp til telefonnummer-match
Fra : Jesper Stocholm


Dato : 20-02-02 14:13

Jeg skal have lavet et regexp, der kan matche formatet af telefonnumre.

Jeg har defineret formatet som:

Altid:
8 cifre, hvor det første kun man være 3-9

nul eller en gang af følgende format
   en bindestreg og et eller flere tal

Det første krav har jeg lavet som:

[3-9]\d{7}

Det andet krav har jeg lavet som

(-\d*)?

Hvilket giver mig det samlede regexp:

var regexp2 = /^[3-9]\d{7}(-\d*)?$/

Mit problem er, at den tilsyneladende matcher dette:

75689098-

Problemet ligger vist i, at jeg med \d* siger, at det kan lade sig gøre
ikke at specificere et tal (pga *).

Hvordan retter jeg det ?

:)

--
Jesper Stocholm
http://stocholm.dk

 
 
Torben Brandt (20-02-2002)
Kommentar
Fra : Torben Brandt


Dato : 20-02-02 14:18

Jesper Stocholm wrote in dk.edb.internet.webdesign.clientside:
> Jeg skal have lavet et regexp, der kan matche formatet af telefonnumre.
>
> Jeg har defineret formatet som:
>
> Altid:
> 8 cifre, hvor det første kun man være 3-9
>
> nul eller en gang af følgende format
>    en bindestreg og et eller flere tal
>
> Det første krav har jeg lavet som:
>
> [3-9]\d{7}
>
> Det andet krav har jeg lavet som
>
> (-\d*)?
>
> Hvilket giver mig det samlede regexp:
>
> var regexp2 = /^[3-9]\d{7}(-\d*)?$/
>
> Mit problem er, at den tilsyneladende matcher dette:
>
> 75689098-
>
> Problemet ligger vist i, at jeg med \d* siger, at det kan lade sig gøre
> ikke at specificere et tal (pga *).
>
> Hvordan retter jeg det ?
>
Brug + i stedet for *

* betyder 0 eller flere gange, mens + betyder mindst én gang

mvh Torben

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jesper Stocholm (20-02-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 20-02-02 15:53

Torben Brandt wrote in news:a507lt$3lu$1@sunsite.dk:

[snip]
>>
>> var regexp2 = /^[3-9]\d{7}(-\d*)?$/
>> Mit problem er, at den tilsyneladende matcher dette:
>> 75689098-
>> Problemet ligger vist i, at jeg med \d* siger, at det kan lade sig
>> gøre ikke at specificere et tal (pga *).
>> Hvordan retter jeg det ?
> Brug + i stedet for *
> * betyder 0 eller flere gange, mens + betyder mindst én gang
>

mange tak ... :)

--
Jesper Stocholm - http://stocholm.dk

Synes du også, at Britney trods alt er meget lækker - men dog
på grænsen til det kvalmende ? http://stocholm.dk/britney.txt

Niels Henriksen (20-02-2002)
Kommentar
Fra : Niels Henriksen


Dato : 20-02-02 16:52

Jeg har aldrig fatter dte med regexp... er det et link der forklarer det fra
starten??

Niels

"Jesper Stocholm" <spam@stocholm.dk> wrote in message
news:Xns91BB90ADC694Dspamstocholmdk@130.226.1.34...
> Jeg skal have lavet et regexp, der kan matche formatet af telefonnumre.
>
> Jeg har defineret formatet som:
>
> Altid:
> 8 cifre, hvor det første kun man være 3-9
>
> nul eller en gang af følgende format
> en bindestreg og et eller flere tal
>
> Det første krav har jeg lavet som:
>
> [3-9]\d{7}
>
> Det andet krav har jeg lavet som
>
> (-\d*)?
>
> Hvilket giver mig det samlede regexp:
>
> var regexp2 = /^[3-9]\d{7}(-\d*)?$/
>
> Mit problem er, at den tilsyneladende matcher dette:
>
> 75689098-
>
> Problemet ligger vist i, at jeg med \d* siger, at det kan lade sig gøre
> ikke at specificere et tal (pga *).
>
> Hvordan retter jeg det ?
>
> :)
>
> --
> Jesper Stocholm
> http://stocholm.dk



Jesper Stocholm (20-02-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 20-02-02 17:30

Niels Henriksen wrote in news:a50g7f$2rmr$1@news.cybercity.dk:

> Jeg har aldrig fatter dte med regexp... er det et link der forklarer
> det fra starten??
>

regexps er ikke mindre end geniale ... skal du lave string-manipulationer eller
format-checks, så er regexps det klare valg.

Et lille eksempel:

Jeg lavede for noget tid siden noget evaluerings-fittelihut på DTU, hvor man ved
udfyldning af en form skulle indtaste sit studienummer. Et studienummer er på DTU
sammensat af først et bogstav - der kan være c,d,u,s,a,p ... og herefter 6 heltal.

Et regexp, der tester dette er

var regexp1 = /^[cdsuap]\d{6}$/i

.... forestil dig, at du skulle kode dig ud af valideringen af strengen i stedet ...
:)

Jeg har ikke set så meget på manipulering af strenge ... men det skulle ikke være
meget mere svært end blot streng-check.

Link:
http://www.google.com/search?sourceid=navclient&q=javascript+regexp

--
Jesper Stocholm - http://stocholm.dk

Synes du også, at Britney trods alt er meget lækker - men dog
på grænsen til det kvalmende ? http://stocholm.dk/britney.txt

Niels Henriksen (21-02-2002)
Kommentar
Fra : Niels Henriksen


Dato : 21-02-02 11:12

"Jesper Stocholm" <spam200201@stocholm.dk> wrote in message
> ... forestil dig, at du skulle kode dig ud af valideringen af strengen i
stedet ...
> :)
>
> Jeg har ikke set så meget på manipulering af strenge ... men det skulle
ikke være
> meget mere svært end blot streng-check.
>
> Link:
> http://www.google.com/search?sourceid=navclient&q=javascript+regexp
>
Takker.... så kan jeg godt se at jeg skal lave noget kode om

Niels



Lasse Hedegaard (20-02-2002)
Kommentar
Fra : Lasse Hedegaard


Dato : 20-02-02 19:36

Jesper Stocholm skrev:

>Jeg skal have lavet et regexp, der kan matche formatet af telefonnumre.
>8 cifre, hvor det første kun man være 3-9

Altså ikke mobiltelefonnumre, men kun fasnet? (Mit mobilnummer starter
med 29)

Desuden vil du måske også kontrollere at 3. ciffer ikke er et nul -
ellers så er det ikke et gyldigt telefonnummer.

venligst,
Lasse Hedegaard

--
http://www.simlock.dk:80/ - Få fjernet SIM-låsen fra din mobiltelefon!

Jesper Stocholm (20-02-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 20-02-02 22:19

Lasse Hedegaard wrote in
news:nkl77uctcplncju97hq09cl8e9a2oa9alp@news.tele.dk:

> Jesper Stocholm skrev:
>
>>Jeg skal have lavet et regexp, der kan matche formatet af telefonnumre.
>>8 cifre, hvor det første kun man være 3-9
>
> Altså ikke mobiltelefonnumre, men kun fasnet? (Mit mobilnummer starter
> med 29)
>

og mit med 28 ... men jeps, mobilnumre er et andet felt ... :)

> Desuden vil du måske også kontrollere at 3. ciffer ikke er et nul -
> ellers så er det ikke et gyldigt telefonnummer.
>

ok ... det vidste jeg ikke.

Mit endelige regexp vil altså komme til at være nogenlunde således:

/^[3-9]\d[1-9]\d{5}(-\d+)?$/

....tror jeg ... :)

Der er jo også noget med, at fx i tilfældet mobilnumre, at der nu er
mobilnumre, der starter med 51 ... men anvendelsen af regexps til at
teste nummeret er mere en "fordi det ligger der"-nødvendighed end en
missionskritisk nødvendighed :)

--
Jesper Stocholm - http://stocholm.dk

Synes du også, at Britney trods alt er meget lækker - men dog
på grænsen til det kvalmende ? http://stocholm.dk/britney.txt

Allan Vebel (21-02-2002)
Kommentar
Fra : Allan Vebel


Dato : 21-02-02 00:03

"Jesper Stocholm" <spam200201@stocholm.dk> skrev

> teste nummeret er mere en "fordi det ligger der"-nødvendighed
> end en missionskritisk nødvendighed :)

Hvad er en missionskritisk nødvendighed?

--
Allan



Jesper Stocholm (21-02-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 21-02-02 09:01

Allan Vebel wrote in news:26Wc8.247$if3.6574@news.get2net.dk:

> "Jesper Stocholm" <spam200201@stocholm.dk> skrev
>
>> teste nummeret er mere en "fordi det ligger der"-nødvendighed
>> end en missionskritisk nødvendighed :)
>
> Hvad er en missionskritisk nødvendighed?
>

at den ikke virker, hvis den ikke er der ... ;)

--
Jesper Stocholm - http://stocholm.dk

Synes du også, at Britney trods alt er meget lækker - men dog
på grænsen til det kvalmende ? http://stocholm.dk/britney.txt

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste