【发布时间】:2008-12-01 07:23:11
【问题描述】:
是否有一个 PHP 函数来确定一个字符串是否仅由 ASCII 字母数字字符组成?
注意:如果这个问题对某些人来说听起来很愚蠢,我很抱歉,但我无法在 Php 手册中轻松找到这样的功能。
【问题讨论】:
是否有一个 PHP 函数来确定一个字符串是否仅由 ASCII 字母数字字符组成?
注意:如果这个问题对某些人来说听起来很愚蠢,我很抱歉,但我无法在 Php 手册中轻松找到这样的功能。
【问题讨论】:
【讨论】:
preg_match('/^[a-z0-9]+$/i', $str);
编辑:John T 的回答更好。只是提供另一种方法。
【讨论】:
这是我的解决方案
<?php
public function alphanum($string){
if(function_exists('ctype_alnum')){
$return = ctype_alnum($string);
}else{
$return = preg_match('/^[a-z0-9]+$/i', $string) > 0;
}
return $return;
}
?>
【讨论】:
我的冗长但简单的解决方案
strspn($string, '0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM_') == strlen($string)
函数 strspn() 查找 $string 的初始段的长度,该段仅包含字母、数字和下划线字符(第二个参数)。如果整个字符串只包含字母、数字和下划线,则返回值将等于字符串的长度。
【讨论】: