今天在写一个过滤的逻辑时,需要把纯英文的字符串过滤掉。试了几种方法,最好发现还是正规最好用,下面是示例,大家做个参考。

php判断字符串是否为纯英文字母

使用正则表达式:

"/^[a-zA-Z\s]+$/"

1、自定义一个php判断字符串是否由纯英文字母组成的函数

/**
 * # 判断字符串是否为纯英文字母组成
 * @param string $str 要判断的字符串
 * 
 * @return bool 
 */
function is_english($str)
{
    if(preg_match("/^[a-zA-Z\s]+$/",$str)){
        return true;
    }
    return false;
}

2、调用函数,判断字符串是否由纯英文字母组成

var_dump(is_english('feiniaomy.com')); 
// bool(false)   含有标点符号所以返回 false  
var_dump(is_english('feiniaomy'));  
// bool(true)
var_dump(is_english('baidu123')); 
// bool(false)   含有123
var_dump(is_english('飞鸟慕鱼博客')); 
// bool(false)   都是中文