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

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
preg match - kun tal og bogstaver
Fra : Daniel Overby


Dato : 05-02-05 16:01

For at sikre min DB ønsker jeg at kunne kontrollere, at der kun er tal og
bogstaver i en string. Dette kan gøres med preg_match, men da jeg ikke
kender en dyt til det, vil jeg gerne have et eksempel.

- Daniel



 
 
Thomas Lindgaard (05-02-2005)
Kommentar
Fra : Thomas Lindgaard


Dato : 05-02-05 16:52

On Sat, 05 Feb 2005 16:01:19 +0100, Daniel Overby wrote:

> For at sikre min DB ønsker jeg at kunne kontrollere, at der kun er tal og
> bogstaver i en string. Dette kan gøres med preg_match, men da jeg ikke
> kender en dyt til det, vil jeg gerne have et eksempel.

<?php
$pattern_justLetters = "\w*";
$pattern_lettersAndSpaces = "[\w ]*";
$pattern_lettersAndNumbers = "[\w\d]*";
$pattern_lettersAndNumbersAndSpaces = "[\w\d ]*";

if ( preg_match("_^$pattern_justLetters\$_", 'en streng', $matches) )
{
print "det gik godt\n";
}
else
{
print "det gik skidt\n";
}
print_r($matches);
?>

I kaldet til preg_match sættes "_^" foran og "$_" bagved det valgte
pattern - de to underscores er delimiters (dem som fortæller hvor pattern
starter og slutter), ^ betyder "starten af strengen" og $ betyder
"slutningen af strengen". Hvis de ikke er med vil

preg_match('_\w*_', '#¤%#&', $matches)

returnere true, da den så blot leder efter 0 eller flere bogstaver et
sted i strengen, og det kan den jo sagtens finde...

"\w*" betyder at der skal være 0 eller flere bogstaver.
"\w+" betyder 1 eller flere bogstaver

"[\w ]*" betyder 0 eller flere af det som står i parentesen (mellemrum
eller bogstaver).

"[\w\d]*" betyder 0 eller flere bogstaver eller tal

Hjalp det?

--
Mvh.
/Thomas


Heylow (06-12-2006)
Kommentar
Fra : Heylow


Dato : 06-12-06 14:36

Thomas Lindgaard wrote in dk.edb.internet.webdesign.serverside.php:
> On Sat, 05 Feb 2005 16:01:19 +0100, Daniel Overby wrote:
>
> > For at sikre min DB ønsker jeg at kunne kontrollere, at der kun er tal og
> > bogstaver i en string. Dette kan gøres med preg_match, men da jeg ikke
> > kender en dyt til det, vil jeg gerne have et eksempel.
>
> <?php
> $pattern_justLetters = "\w*";
> $pattern_lettersAndSpaces = "[\w ]*";
> $pattern_lettersAndNumbers = "[\w\d]*";
> $pattern_lettersAndNumbersAndSpaces = "[\w\d ]*";
>
> if ( preg_match("_^$pattern_justLetters\$_", 'en streng', $matches) )
> {
> print "det gik godt\n";
> }
> else
> {
> print "det gik skidt\n";
> }
> print_r($matches);
> ?>
>
> I kaldet til preg_match sættes "_^" foran og "$_" bagved det valgte
> pattern - de to underscores er delimiters (dem som fortæller hvor pattern
> starter og slutter), ^ betyder "starten af strengen" og $ betyder
> "slutningen af strengen". Hvis de ikke er med vil
>
> preg_match('_\w*_', '#¤%#&', $matches)
>
> returnere true, da den så blot leder efter 0 eller flere bogstaver et
> sted i strengen, og det kan den jo sagtens finde...
>
> "\w*" betyder at der skal være 0 eller flere bogstaver.
> "\w+" betyder 1 eller flere bogstaver
>
> "[\w ]*" betyder 0 eller flere af det som står i parentesen (mellemrum
> eller bogstaver).
>
> "[\w\d]*" betyder 0 eller flere bogstaver eller tal
>
> Hjalp det?
>
> --
> Mvh.
> /Thomas
>

Jeg havde same problem. Det hjalp meget.
Tak for hjaelpen.


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

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