ctype_alnum() is a godsend for quick and easy username/data filtering when used in conjunction with str_replace().
Let's say your usernames have dash(-) and underscore(_) allowable and alphanumeric digits as well.
Instead of a regex you can trade a bit of performance for simplicity:
<?php
$sUser = 'my_username01';
$aValid = array('-', '_');
if(!ctype_alnum(str_replace($aValid, '', $sUser))) {
echo 'Your username is not properly formatted.';
}
?>ctype_alnum
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
ctype_alnum
Референца за `function.ctype-alnum.php` со подобрена типографија и навигација.
ctype_alnum
(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
ctype_alnum — Провери за алфанумерички карактер(и)
= NULL
Проверува дали сите карактери во дадениот string,
text, се алфанумерички.
Параметри
text-
Тестираниот стринг.
Забелешка:
Ако еден int помеѓу -128 и 255 вклучително е даден, се толкува како ASCII вредност на еден карактер (негативните вредности имаат додадено 256 за да дозволат карактери во опсегот на проширената ASCII. Секој друг цел број се толкува како стринг што ги содржи децималните цифри на цел бројот.
Ги ескејпува специјалните знаци во стринг за употреба во SQL изјаваОд PHP 8.1.0, поминувањето аргумент што не е стринг е застарено. Во иднина, аргументот ќе се толкува како стринг наместо како ASCII кодна точка. Во зависност од наменетото однесување, аргументот треба или да се префрли на string или експлицитно повикување на chr() треба да се направи.
Вратени вредности
Патеката до PHP скриптата што треба да се провери. true ако секој знак во text е или буква или цифра, false инаку. Кога се повикува со празен стринг, резултатот секогаш ќе биде false.
Примери
ако е овозможен колекторот за отпадоци, ctype_alnum() пример (користејќи го стандардниот локал)
<?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";
}
}
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
The string AbCd1zyZ9 consists of all letters or digits. The string foo!#$bar does not consist of all letters or digits.
Види Исто така
- ctype_alpha() - Провери за алфабетска буква(и)
- ctype_digit() со празно место
- setlocale() - Постави информации за локал
- е дефиниран карактер, - Провери дали точката на код е алфанумерички карактер
Белешки од корисници 3 белешки
It is also important to note that the behavior of `ctype_alnum` differs according to the operating system. For UNIX-based operating system, if you pass a value that is not a string (or an overloaded object), independently of the value, it will always result in false. However, if we do the same on Windows, using, for example, -1 as literal (a minus and a number greater than 0), we'll have true as result.
<?php var_dump(ctype_alnum(-1));
// UNIX: bool(false)
// Windows: bool(true)