限制只能中文输入的方法实现函数: <br><br><br>
function isCharsInBag (s, bag) <br><br><br>
{ <br><br><br>
var i,c; <br><br><br>
for (i = 0; i < s.length; i++) <br><br><br>
{ <br><br><br>
c = s.charAt(i);//字符串s中的字符 <br><br><br>
if (bag.indexOf(c) > -1) <br><br><br>
return c; <br><br><br>
} <br><br><br>
return ""; <br><br><br>
} <br><br><br>
检查函数: <br><br><br>
function ischinese(s) <br><br><br>
{ <br><br><br>
var errorChar; <br><br><br>
var badChar = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789><,<>{}?/+=|\\&acute;\":;~!#$%()`"; <br><br><br>
errorChar = isCharsInBag( s, badChar) <br><br><br>
if (errorChar != "" ) <br><br><br>
{ <br><br><br>
report=report+"请重新输入中文\n"; <br><br><br>
return false; <br><br><br>
} <br><br><br>
<br><br><br>
return true; <br><br><br>
} <br><br><br>

解决方案 »

  1.   

    <?php
    //1
    $str = "中文";
    if  (preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $str)) 
    {
        echo "这是一个纯中文字符串";

    else 
    {
        echo "这不是一个纯中文字串";
    }
    //2
    $fname= "中文";
    if(eregi("[^\x80-\xff]+",$fname)) 
    {
        echo "这是一个纯中文字符串";
    }
    else 
    {
        echo "这不是一个纯中文字串";}
    ?>
      

  2.   

    $fname= "中文";
    if(eregi("[^\x80-\xff]+",$fname)) 
    {
        echo "这是一个纯中文字符串";
    }
    else 
    {
        echo "这不是一个纯中文字串";}
    ------------------ 这个有错误!我你给我的这个例子测试了一下!结果提示这不是一个纯中文字串!----------------
    第二个在搜索的贴子里看到过!也没成功!---------------------- 还请问一下!哪些字符不算中文的?请指教!
      

  3.   

    to: cn0cn(cn0cn) ( )
    bonniewater(陪你去看海) 
    的程序仔细看看在chr(0xa1)-chr(0xff)范围以外的你到论坛上去搜索一下,唠叨很早就已经解释的很清楚了
      

  4.   

    55555555555!我搜索过呀!所有的时间段的贴子都搜索过了!可是、还没有解决!谁能给个完整的代码呢?谢谢了!!!!!!!!!!!!!!!!!!!!  msn:[email protected]
      

  5.   

    <?
     $str="你好";
     for($i=0;$i<strlen($str);$i++) {
          if(ord(substr($str,$i,1))>0xa0) {
              print "不能包含中文";
              break;
          }
     } 
      ?>
      

  6.   

    chr(0xa1)-chr(0xff)范围之间是中文
      

  7.   

    你把'-'的ascii码打印出来看看就知道了