@ ben at onshop dot co dot uk
Your example is the slowest possible way to do it.
The whole idea behind using ctype_alnum is that it is much faster than a regexp.
If you have to use regexp, at least use PCRE, not POSIX.
ctype_alnum
(PHP 4 >= 4.0.4, PHP 5)
ctype_alnum — Έλεγχος για αλφαριθμητικούς χαρακτήρες
Περιγραφή
bool ctype_alnum
( string $text
)
Επιστρέφει TRUE εάν κάθε χαρακτήρας της text είναι είτε γράμμα είτε ψηφίο, αλλιώς FALSE. Στη standard C ως γράμματα θεωρούνται τα [A-Za-z]. Η συνάρτηση είναι ισοδύναμη με (ctype_alpha($text) || ctype_digit($text)).
Ανατρέξτε επίσης στις: ctype_alpha(), ctype_digit(), και setlocale().
ctype_alnum
kostromin at gmail com
26-Feb-2008 02:24
26-Feb-2008 02:24
ben at onshop dot co dot uk
12-Jan-2008 07:03
12-Jan-2008 07:03
Oops, above example should read:
if(eregi('[^a-zA-Z0-9_]', $str)){
$msg = 'Please enter an alphanumeric value';
)
ben at onshop dot co dot uk
12-Jan-2008 05:26
12-Jan-2008 05:26
An alternative if you need to accept underscores as well:
$str = 'user_name';
if(!eregi('[^a-zA-Z0-9_]', $str)){
$msg = 'Please enter an alphanumeric value';
)
