how do you write a fix for ctype_alnum to accept also norwegian letters like øæå
Dag
ctype_alnum
(PHP 4 >= 4.0.4, PHP 5)
ctype_alnum — Check for alphanumeric character(s)
说明
bool ctype_alnum
( string $text
)
Checks if all of the characters in the provided string, text , are alphanumeric. In the standard C locale letters are just [A-Za-z].
参数
- text
-
The tested string.
返回值
Returns TRUE if every character in text is either a letter or a digit, FALSE otherwise.
范例
Example#1 A ctype_alnum() example (using the default locale)
<?php
$strings = array('AbCd1zyZ9', 'foo!#$bar');
foreach ($strings as $testcase) {
if (ctype_alnum($testcase)) {
echo "The string $testcase consists of all letters or digits.\n";
} else {
echo "The string $testcase does not consist of all letters or digits.\n";
}
}
?>
上例将输出:
The string AbCd1zyZ9 consists of all letters or digits. The string foo!#$bar does not consist of all letters or digits.
ctype_alnum
Anonymous
11-Jun-2008 04:25
11-Jun-2008 04:25
kostromin at gmail com
26-Feb-2008 06:24
26-Feb-2008 06:24
@ 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.
ben at onshop dot co dot uk
13-Jan-2008 11:03
13-Jan-2008 11: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
13-Jan-2008 09:26
13-Jan-2008 09: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';
)
