您的位置:

php判断是否有韩文(上海地铁包被车门夹住)

本文目录一览:

php有没有检测输入的字符串是什么语言种类的方法

那个你可以粗略根据编码格式来:

?php

$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4); //只取前4位,这样只判断最优先的语言。如果取前5位,可能出现en,zh的情况,影响判断。

if (preg_match("/zh-c/i", $lang))

echo "简体中文";

else if (preg_match("/zh/i", $lang))

echo "繁体中文";

else if (preg_match("/en/i", $lang))

echo "English";

else if (preg_match("/fr/i", $lang))

echo "French";

else if (preg_match("/de/i", $lang))

echo "German";

else if (preg_match("/jp/i", $lang))

echo "Japanese";

else if (preg_match("/ko/i", $lang))

echo "Korean";

else if (preg_match("/es/i", $lang))

echo "Spanish";

else if (preg_match("/sv/i", $lang))

echo "Swedish";

else echo $_SERVER["HTTP_ACCEPT_LANGUAGE"];

?

用PHP正则判断 只能输入 中文、韩文、日文、英文(大小写) 除外的一律禁止的。 有谁可以么?

可以用两个表达式来实现

首先匹配到特殊字符 如 ~!@#$%^*()则返回失败,

如果匹配不到特殊字符 然后再排除数字 用 '/([^\d]+)/'匹配

如果再成功 才算成功 不然你说的那么多种字符UTF-8编码会很难写 而且效率也很差

用PHP正则判断 只能输入 中文、韩文、日文、因为(大小写) 除外的一律禁止的。 有谁可以么?

/^[\x{4e00}-\x{9fa5}\x{3130}-\x{318F}\x{0800}-\x{4e00}a-zA-Z]+$/u

别忘了最后那个修正符“ u ”,少了它可不行。

再补充下,要使用这个正则,你的网页编码必须是UTF-8,如果是GB2312,那不要想了。

php 中文和编码判断代码

编码范围1.

GBK

(GB2312/GB18030)

\x00-\xff

GBK双字节编码范围

\x20-\x7f

ASCII

\xa1-\xff

中文

\x80-\xff

中文

2.

UTF-8

(Unicode)

\u4e00-\u9fa5

(中文)

\x3130-\x318F

(韩文

\xAC00-\xD7A3

(韩文)

\u0800-\u4e00

(日文)

ps:

韩文是大于[\u9fa5]的字符

正则例子:

preg_replace(”/([\x80-\xff])/”,”",$str);

preg_replace(”/([u4e00-u9fa5])/”,”",$str);

二、代码例子

复制代码

代码如下:

//判断内容里有没有中文-GBK

(PHP)

function

check_is_chinese($s){

return

preg_match('/[\x80-\xff]./',

$s);

}

//获取字符串长度-GBK

(PHP)

function

gb_strlen($str){

$count

=

0;

for($i=0;

$istrlen($str);

$i++){

$s

=

substr($str,

$i,

1);

if

(preg_match("/[\x80-\xff]/",

$s))

++$i;

++$count;

}

return

$count;

}

//截取字符串字串-GBK

(PHP)

function

gb_substr($str,

$len){

$count

=

0;

for($i=0;

$istrlen($str);

$i++){

if($count

==

$len)

break;

if(preg_match("/[\x80-\xff]/",

substr($str,

$i,

1)))

++$i;

++$count;

}

return

substr($str,

0,

$i);

}

//统计字符串长度-UTF8

(PHP)

function

utf8_strlen($str)

{

$count

=

0;

for($i

=

0;

$i

strlen($str);

$i++){

$value

=

ord($str[$i]);

if($value

127)

{

$count++;

if($value

=

192

$value

=

223)

$i++;

elseif($value

=

224

$value

=

239)

$i

=

$i

+

2;

elseif($value

=

240

$value

=

247)

$i

=

$i

+

3;

else

die('Not

a

UTF-8

compatible

string');

}

$count++;

}

return

$count;

}

//截取字符串-UTF8(PHP)

function

utf8_substr($str,$position,$length){

$start_position

=

strlen($str);

$start_byte

=

0;

$end_position

=

strlen($str);

$count

=

0;

for($i

=

0;

$i

strlen($str);

$i++){

if($count

=

$position

$start_position

$i){

$start_position

=

$i;

$start_byte

=

$count;

}

if(($count-$start_byte)=$length)

{

$end_position

=

$i;

break;

}

$value

=

ord($str[$i]);

if($value

127){

$count++;

if($value

=

192

$value

=

223)

$i++;

elseif($value

=

224

$value

=

239)

$i

=

$i

+

2;

elseif($value

=

240

$value

=

247)

$i

=

$i

+

3;

else

die('Not

a

UTF-8

compatible

string');

}

$count++;

}

return(substr($str,$start_position,$end_position-$start_position));

}

//判断是否是有韩文-UTF-8

(JavaScript)

function

checkKoreaChar(str)

{

for(i=0;

istr.length;

i++)

{

if(((str.charCodeAt(i)

0x3130

str.charCodeAt(i)

0x318F)

||

(str.charCodeAt(i)

=

0xAC00

str.charCodeAt(i)

=

0xD7A3)))

{

return

true;

}

}

return

false;

}

//判断是否有中文字符-GBK

(JavaScript)

function

check_chinese_char(s){

return

(s.length

!=

s.replace(/[^\x00-\xff]/g,"**").length);

}

php中如何判断中英文字符

PHP判断中英文的依据是字符的ASII值,而字符的ASII值也因编码不同而不同。为了能编写判断中英文字符的php程序,我们必须先来了解下各编码下中文英文字符的ASII值范围:

1.

GBK

(GB2312/GB18030)

x00-xff

GBK双字节编码范围

x20-x7f

ASCII

xa1-xff

中文

gb2312

x80-xff

中文

gbk

2.

UTF-8

(Unicode)

u4e00-u9fa5

(中文)

x3130-x318F

(韩文

xAC00-xD7A3

(韩文)

u0800-u4e00

(日文)

!DOCTYPE HTML PUBLIC

"-//W3C//DTD

HTML

4.0

Transitional//EN"

HTML

HEAD

TITLE

New

Document

/TITLE

META

http-equiv="Content-Type"

content="text/html;

charset=utf-8"

/HEAD

BODY

?

$str

=

"中文";

echo

$str;

echo

"hr";

//if

(preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/",

$str))

{

//只能在GB2312情况下使用

if

(preg_match("/^[x7f-xff]+$/",

$str))

{

//兼容gb2312,utf-8

echo

"正确输入";

}

else

{

echo

"错误输入";

}

?

/BODY

/HTML