php怎么判断字符串是中文还是数字

php是使用非常广泛的语言,在很多项目中会用到判断一个字符串是中文还是数字的功能,那么php该怎么实现这一功能呢?

首先要定义一个函数来判断字符串中的字符是中文还是数字,利用php内置函数preg_match可以实现:

“`php

<?php

function isChinese($string){

if (preg_match(“/^[\x7f-\xff]+$/”, $string)){//判断字符串中的字符是否都是中文

return true;

}

else{

return false;

}

}

?>

上述函数的具体原理就是采用正则表达式,看是否属于中文/增色字符,如果都是则返回true,否则构造则返回false。

此外,如果只是判断字符串中是否含有中文,也可以使用另一种代码实现:

“`php

<?php

function hasChinese($string){

if (preg_match(“/[\x7f-\xff]/”, $string)) {

return true;

}

else{

return false;

}

}

?>

这里判断是否含有中文,也就是字符串中是否有一个以上属于中文字符,本段代码也是采用正则表达式来实现。

最后,为了验证上述函数的正确性,编写下列代码:

“`php

<?php

$str1 = “中文字符”;

$str2 = “123123”;

$str3 = “sfef12有中文”;

echo isChinese($str1).”\n”; //true

echo isChinese($str2).”\n”; //false

echo isChinese($str3).”\n”; //false

echo hasChinese($str1).”\n”; //true

echo hasChinese($str2).”\n”; //false

echo hasChinese($str3).”\n”; //true

?>

通过运行上述代码,就能得到正确的判断结果。

综上所述,php可以通过正则表达式来判断字符串中是否有中文字符或者是全部都是中文,而这一功能通过设计函数实现也十分简单方便。

php判断字符串是中文还是数字,可以使用正则表达式来实现,也可以使用相关函数。

使用正则表达式来判断

1.判断字符串是否全部由中文组成:$str = “你好世界” ;$reg = ‘/^[\x{4e00}-\x{9fa5}]+$/u’;preg_match ($reg, $str, $match)

如果$match不等于空表示$str由中文组成,返回值为1。

2.判断字符串中有没有中文:$str = ”hello world”;$reg = ‘/[\x{4e00}-\x{9fa5}]+/u’;preg_match($reg,$str,$match);

如果$match不等于空表示$str里有中文,返回值为1。

使用相关函数来判断

1.判断字符串是否全部由中文组成:$str = ”你好世界”;if (mb_strlen($str,”utf-8″) == strlen($str)) {echo”是由全中文组成”;} else {echo”不全是中文”;}

2.判断字符串中有没有中文:$str = ”hello world”;$len = mb_strlen($str,”utf-8″);if ($len > strlen($str)) {echo”有中文”;} else {echo”没有中文”;}

总结

在进行php判断字符串是中文还是数字时,可以使用正则表达式来实现,也可以使用相关函数,根据不同的要求来实现。正则表达式要求比较高,需要了解正则表达式的基本知识,但是使用mf_strlen函数要简单的多,而且非常适合字符串的处理。

免责声明:
1.本站所有源码支持免费互换,所有资源来源于网络,分享目的仅供大家学习和交流!不得使用于非法商业用途,不得违反国家法律。否则后果自负!(下载即表示同意遵守此条例!) 所有资源,不能保证完全去除后门和源码的完整性!(建议先用D盾 等查杀软件先扫描一遍!)且都不包含技术服务请大家谅解!
2.根据二○○二年一月一日《计算机软件保护条例》规定:为了学习和研究软件内含的设计思想和原理, 通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可, 不向其支付报酬!鉴于此,也希望大家按此说明研究!
3.本站所有源码均收集来源于网络,若此源码资源等文章侵犯您的合法权益,请私信联系站长,并于24小时内删除下架。
4.本站所有源码仅限学习,交流使用,请勿上线或非法使用,一切法律责任均于此站无关。
5.侵权联系邮箱:188773464@qq.com
6.若您最终确认购买,则视为您100%认同并接受以上所述全部内容。

源码下载网 技术社区 php怎么判断字符串是中文还是数字 https://svipm.com.cn/1401.html

相关文章

猜你喜欢