Blog

It's a Wonderful Life

PHP判断字符串包含的文字类型

2016-12-07 18:28 Posted in Learn with PHP

不多说,直接上代码。

<?php
//\p{Han}表示匹配汉字,^$限定了字符串必须只包含汉字。
if (preg_match('/^\p{Han}+$/u', $param))
{
    return "HAN";
}
//\p{L} or \p{Letter}表示匹配字母,^$限定了字符串必须只包含字母。
    elseif (preg_match('/^\p{L}+$/i', $param))
{
    return "ENG";
}
//如果上述两个都不匹配,就表示字符串是汉字和字母的混合。
else
{
	  return "BOTH";
}

补充知识点: 正则式后面的u表示模式字符串将被以UTF-8字符模式对待。在匹配中文的时候必须带上,只有这样才能正确匹配中文字符。