|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
那么接下来,这就算学会啦?NO,NO,NO,还早呢,你至尽还没碰过OOP之类的吧?模板呢?UTF-8婚配:在javascript中,要剖断字符串是中文是很俭朴的。好比:var str = "php编程";if (/^[\u4e00-\u9fa5]+$/.test(str)) {alert("该字符串全体是中文");} else{alert("该字符串不全体是中文");}php中,是用 ... UTF-8婚配:
在javascript中,要剖断字符串是中文是很俭朴的。好比:
var str = "php编程";
if (/^[\u4e00-\u9fa5]+$/.test(str)) {
alert("该字符串全体是中文");
}
else{
alert("该字符串不全体是中文");
}
php中,是用\x暗示十六进制数据的。因而,变换成以下的代码:
$str = "php编程";
if (preg_match("/^[\x4e00-\x9fa5]+$/"$str)) {
print("该字符串全体是中文");
} else {
print("该字符串不全体是中文");
}
貌似不报错了,剖断的了局也正确,不外把$str换成“编程”两字,了局却仍是显示“该字符串不全体是中文”,看来如许的剖断仍是不敷正确。
网上只能找到婚配全角字符的正则: ^[\x80-\xff]*^/
[\u4e00-\u9fa5]可以婚配中文然而PHP又不撑持
能够还跟编码有关系,因而需求懂得一下形式修改符的相干常识.
在一篇《形式修改符》的文章中懂得到:
u (PCRE_UTF8)
此修改符启用了一个 PCRE 中与 Perl 不兼容的额定功效。形式字符串被当做 UTF-8。本修改符在 Unix 下自 PHP 4.1.0 起可用,在 win32 下自 PHP 4.2.3 起可用。
例子:
preg_match('/[\x{2460}-\x{2468}]/u' $str); 婚配 内码汉字
依照他供应的体例停止测试,代码以下:
$str = "php编程";
if (preg_match("/^[\x{2460}-\x{2468}]+$/u"$str)) {
print("该字符串全体是中文");
} else {
print("该字符串不全体是中文");
}
发明此次仍然对是不是为中文剖断变态。
不外,既然\x暗示的十六进制数据,为何和js里边供应的局限\x4e00-\x9fa5纷歧样呢?因而我就换成了下边的代码发明真的正确了:
$str = "php编程";
if (preg_match("/^[\x{4e00}-\x{9fa5}]+$/u"$str)) {
print("该字符串全体是中文");
} else {
print("该字符串不全体是中文");
}
晓得了php中utf-8编码下用正则表达式婚配汉字的终究正确表达式——/^[\x{4e00}-\x{9fa5}]+$/u,
参考以上文章写了以下一段测试代码(复制以下代码保留成.php文件)
输出字符(数字字母汉字下划线):
GBK:
preg_match("/^[".chr(0xa1)."-".chr(0xff)."A-Za-z0-9_]+$/"$str); //GB2312汉字字母数字下划线正则表达式
实现固定数量的几张图片的上传;再如调试软件ZendStudio的使用,看了很多次老师的应用,但总感觉用的不顺手,不懂那么多的数据值,到底哪一个才是真正的问题所在;还有如数据库语句的封装,我只会用简单的函数来进行封装。 |
|