如果你想判断中英文,可以用:<script language="javascript">
function isChinese(str){
var lst = /[u00-uFF]/;       
return !lst.test(str);      
}
if(isChinese("名字"))
alert("Yes");
else
alert("NO");
</script>

解决方案 »

  1.   

    你看一下我写的这个例子吧:<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
    <meta name="ProgId" content="FrontPage.Editor.Document">
    <title>测试字符所占字节数</title>
    </head>
    <body>
    <script language="javascript">
    function isChinese(str){
    var lst = /[u00-uFF]/;       
    return !lst.test(str);      
    }var strtest="This测试!";
    var strlength=0;for (i=0;i<strtest.length;i++)
    {
    if (isChinese(strtest.charAt(i))==true)
    strlength=strlength + 2;
    else
    strlength=strlength + 1;
    alert(isChinese(strtest.charAt(i)));
    }
    alert(strlength);
    </script>
    </body>
    </html>
      

  2.   

    有点问题,英文符号它也返回YES。
    我要判定输入的字符串是否超过数据库某列的允许长度,希望在提交之前判定。
      

  3.   

    function getByteLen(str)
    {
    var l = str.length;
    var n = l;
    for ( var i=0; i<l; i++ )
    if ( str.charCodeAt(i)<0 || str.charCodeAt(i)>255 )
    n++;
    return n
    }关键是这个 charCodeAt(), 用 charAt(),怎么都解决不好