请问如何处理,请写出整句代码,拜托.
6 个解决方案
#1
中文使用ASCII码进行验证,楼主可以试一下,本人已试过很多次,刚刚写的代码,是可以的:
采用PERL兼容的正则表达式:
楼主试一下。
采用PERL兼容的正则表达式:
<?php
$chinese=chr(0xa1)."-".chr(0xff);//中文匹配
$pattern="/^[a-zA-Z0-9($chinese)]{1,}$/";//加上英文、数字匹配
if(preg_match($zimu,"sfsdfsdf6555Ddd送到豆腐速度Fddfs"))//如验证含有中文、数字、英文大小写的字符
{
echo "不是特殊字符";//验证“sfsdfsdf6555Ddd送到豆腐速度Fddfs”结果是这个
}
else
{
echo "是特殊字符";//验证“+++++===|||\\ddfasfd”是这个
}
楼主试一下。
#2
中文在不同编码环境下,字节结构都不一样。你要判断哪个环境下的中文?
#3
1楼的朋友,你的发上来的代码是完整的吗,感觉有点不对,自已做了一点修改,发现还字符串有中文时显示“是特殊字符”代码如下:
<?php
$chinese=chr(0xa1)."-".chr(0xff);//中文匹配
$pattern="/^[a-zA-Z0-9($chinese)]{1,}$/";//加上英文、数字匹配
if(preg_match($pattern,"sfsdfsdf6555Ddd送到豆腐速度Fddfs"))//如验证含有中文、数字、英文大小写的字符
{
echo "不是特殊字符";//验证“sfsdfsdf6555Ddd送到豆腐速度Fddfs”结果是这个
}
else
{
echo "是特殊字符";//验证“+++++===|||\\ddfasfd”是这个
}
?>
2楼的朋友,我的编码环境是utf-8
<?php
$chinese=chr(0xa1)."-".chr(0xff);//中文匹配
$pattern="/^[a-zA-Z0-9($chinese)]{1,}$/";//加上英文、数字匹配
if(preg_match($pattern,"sfsdfsdf6555Ddd送到豆腐速度Fddfs"))//如验证含有中文、数字、英文大小写的字符
{
echo "不是特殊字符";//验证“sfsdfsdf6555Ddd送到豆腐速度Fddfs”结果是这个
}
else
{
echo "是特殊字符";//验证“+++++===|||\\ddfasfd”是这个
}
?>
2楼的朋友,我的编码环境是utf-8
#4
楼主在这里使用preg_match时正则颠倒了,使用的pattern应该为匹配特殊符号的pattern,而不是匹配正常字符的pattern
所以思路是错误的
所以思路是错误的
#5
<?php
$a="中国[]";
$regx = '/[^0-9a-zA-Z一-龥]/u';
$result = preg_match($regx,$a);
if($result){
//存在特殊字符
}
?>
#6
想法地方官
#1
中文使用ASCII码进行验证,楼主可以试一下,本人已试过很多次,刚刚写的代码,是可以的:
采用PERL兼容的正则表达式:
楼主试一下。
采用PERL兼容的正则表达式:
<?php
$chinese=chr(0xa1)."-".chr(0xff);//中文匹配
$pattern="/^[a-zA-Z0-9($chinese)]{1,}$/";//加上英文、数字匹配
if(preg_match($zimu,"sfsdfsdf6555Ddd送到豆腐速度Fddfs"))//如验证含有中文、数字、英文大小写的字符
{
echo "不是特殊字符";//验证“sfsdfsdf6555Ddd送到豆腐速度Fddfs”结果是这个
}
else
{
echo "是特殊字符";//验证“+++++===|||\\ddfasfd”是这个
}
楼主试一下。
#2
中文在不同编码环境下,字节结构都不一样。你要判断哪个环境下的中文?
#3
1楼的朋友,你的发上来的代码是完整的吗,感觉有点不对,自已做了一点修改,发现还字符串有中文时显示“是特殊字符”代码如下:
<?php
$chinese=chr(0xa1)."-".chr(0xff);//中文匹配
$pattern="/^[a-zA-Z0-9($chinese)]{1,}$/";//加上英文、数字匹配
if(preg_match($pattern,"sfsdfsdf6555Ddd送到豆腐速度Fddfs"))//如验证含有中文、数字、英文大小写的字符
{
echo "不是特殊字符";//验证“sfsdfsdf6555Ddd送到豆腐速度Fddfs”结果是这个
}
else
{
echo "是特殊字符";//验证“+++++===|||\\ddfasfd”是这个
}
?>
2楼的朋友,我的编码环境是utf-8
<?php
$chinese=chr(0xa1)."-".chr(0xff);//中文匹配
$pattern="/^[a-zA-Z0-9($chinese)]{1,}$/";//加上英文、数字匹配
if(preg_match($pattern,"sfsdfsdf6555Ddd送到豆腐速度Fddfs"))//如验证含有中文、数字、英文大小写的字符
{
echo "不是特殊字符";//验证“sfsdfsdf6555Ddd送到豆腐速度Fddfs”结果是这个
}
else
{
echo "是特殊字符";//验证“+++++===|||\\ddfasfd”是这个
}
?>
2楼的朋友,我的编码环境是utf-8
#4
楼主在这里使用preg_match时正则颠倒了,使用的pattern应该为匹配特殊符号的pattern,而不是匹配正常字符的pattern
所以思路是错误的
所以思路是错误的
#5
<?php
$a="中国[]";
$regx = '/[^0-9a-zA-Z一-龥]/u';
$result = preg_match($regx,$a);
if($result){
//存在特殊字符
}
?>
#6
想法地方官