|
| Preg_match Fra : Lasse Jensen |
Dato : 23-06-06 15:54 |
|
Davs :)
Jeg har en preg_match som ser sådan her ud;
preg_match("/^[a-zA-Z]+$/", $fornavn)
Den sørger for navnet kun kan indeholde bogstaver.
Desværre anser den ikke æ, ø og å som bogstaver, da den kun går til z.
Hvordan løses dette? Vi er jo i Danmark, hvor mange har navne, som
retter sig efter det danske alfabet. Udover det vil jeg også gerne have
en "-" (bindestreg) med, da det også indgår i nogle navne.
Hvordan kommer den så til at se ud?
På forhånd tak :)
Mvh. Lasse Jensen
| |
phpartikler.dk (23-06-2006)
| Kommentar Fra : phpartikler.dk |
Dato : 23-06-06 17:24 |
|
> Jeg har en preg_match som ser sådan her ud;
>
> preg_match("/^[a-zA-Z]+$/", $fornavn)
>
> Den sørger for navnet kun kan indeholde bogstaver.
> Desværre anser den ikke æ, ø og å som bogstaver, da den kun går til z.
> Hvordan løses dette? Vi er jo i Danmark, hvor mange har navne, som retter
> sig efter det danske alfabet. Udover det vil jeg også gerne have en "-"
> (bindestreg) med, da det også indgår i nogle navne.
>
> Hvordan kommer den så til at se ud?
>
Alt hvad står mellem [ og ] er "lovligt". Så det er bare at tilføje:
/^[-a-zA-Zæøå]+$
(Bemærk at bindestregen er placeret først, da den ellers tror at der er tale
om en "range" (ligesom a-z eller 0-9), man kunne også bare backslashet den
og placeret den hvor man har lyst)
| |
phpartikler.dk (23-06-2006)
| Kommentar Fra : phpartikler.dk |
Dato : 23-06-06 17:29 |
|
> Alt hvad står mellem [ og ] er "lovligt". Så det er bare at tilføje:
> /^[-a-zA-Zæøå]+$
>
Ups. Med ovenstående virker ÆØÅ (med stort) ikke. Det ville nok være lige så
smart at smide en i-modify'er i enden så den søger case insensitive. Så kan
du nøjes med:
/^[-a-zæøå]+$/i
| |
Michael Rasmussen (23-06-2006)
| Kommentar Fra : Michael Rasmussen |
Dato : 23-06-06 17:29 |
|
On Fri, 23 Jun 2006 18:23:31 +0200, phpartikler.dk wrote:
> (Bemærk at bindestregen er placeret først, da den ellers tror at der er
> tale om en "range" (ligesom a-z eller 0-9), man kunne også bare
> backslashet den og placeret den hvor man har lyst)
Ikke korrekt. Placering først har samme effekt, som placering til sidst.
--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917
| |
phpartikler.dk (23-06-2006)
| Kommentar Fra : phpartikler.dk |
Dato : 23-06-06 17:40 |
|
"Michael Rasmussen" <mir@miras.org> skrev i en meddelelse
news:pan.2006.06.23.16.29.26.103938@miras.org...
> On Fri, 23 Jun 2006 18:23:31 +0200, phpartikler.dk wrote:
>
>> (Bemærk at bindestregen er placeret først, da den ellers tror at der er
>> tale om en "range" (ligesom a-z eller 0-9), man kunne også bare
>> backslashet den og placeret den hvor man har lyst)
> Ikke korrekt. Placering først har samme effekt, som placering til sidst.
> --
> Hilsen/Regards
> Michael Rasmussen
> http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917
>
Jaja, men pointen er stadig den samme, pas på med bindestreg inde i en
character-class da den tror det er en "range" hvis man ikke placere den
først (eller sidst) (og ellers tilføjet evt. en backslash).
| |
Lasse Jensen (23-06-2006)
| Kommentar Fra : Lasse Jensen |
Dato : 23-06-06 20:52 |
|
phpartikler.dk skrev:
>
>
> Alt hvad står mellem [ og ] er "lovligt". Så det er bare at tilføje:
> /^[-a-zA-Zæøå]+$
>
Mange tak, jeg kigger på det :)
Jeg troede ikke det var så simpelt, men det var da meget lækkert :)
Mvh. Lasse Jensen
| |
Michael Rasmussen (23-06-2006)
| Kommentar Fra : Michael Rasmussen |
Dato : 23-06-06 17:28 |
| | |
Lasse Jensen (23-06-2006)
| Kommentar Fra : Lasse Jensen |
Dato : 23-06-06 20:52 |
|
Michael Rasmussen skrev:
> On Fri, 23 Jun 2006 16:54:21 +0200, Lasse Jensen wrote:
>
>
>>Hvordan kommer den så til at se ud?
>
> Simpelt, tilføj de tilladte tegn: /^[a-zA-ZæøåÆØÅ-]+$/
Tak for svaret :D
Mvh. Lasse Jensen
| |
|
|