var strng="中文的"
var strng1="中文的aa"
var strng2="111"
var strng3="aaas"
var strng4="111aaa"
function aaacheck(a) {
//var pat = /[^\x00-\xff]+/g; //这个是双字节的。就是说带标点符号。
var pat = /(^[\u4e00-\u9fa5]+$)|(^\d+$)|(^[a-z]+$)/gi; //这个好象带中文的。if(pat.test(a)){
   alert("true")
}else{
   alert("false")
}
//alert(pat.test(strng))
}
aaacheck(strng)
aaacheck(strng1)
aaacheck(strng2)
aaacheck(strng3)
aaacheck(strng4)

解决方案 »

  1.   

    <input type="text" name="name" maxlength="20" value="" onkeypress="return checkInput();" />
    ...
    function checkInput(){
        return (event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 65 && event.keyCode <= 90) || (event.keyCode >= 97 && event.keyCode <= 122);
    }就这个思路
      

  2.   

    <SCRIPT LANGUAGE="JavaScript">
      <!--
    do
    {
    CategoryName=prompt("请输入英文品名(最多15个字符):","");
    }
    while (!/^[\u4e00-\u9fa5\d\w]+$/.test(CategoryName) || CategoryName==null);
    alert('OK');
      //-->
      </SCRIPT>
      

  3.   

    <SCRIPT LANGUAGE="JavaScript">
      <!--
    do
    {
    CategoryName=prompt("数字:","");
    }
    while (!/^\d+$/.test(CategoryName) || CategoryName==null);
    alert('OK');
      //-->
      </SCRIPT>
    <SCRIPT LANGUAGE="JavaScript">
      <!--
    do
    {
    CategoryName=prompt("请输入英文品名(最多15个字符):","");
    }
    while (!(/^[a-zA-Z]+$/.test(CategoryName) && CategoryName.length<15) || CategoryName==null);
    alert('OK');
      //-->
      </SCRIPT>
    <SCRIPT LANGUAGE="JavaScript">
      <!--
    do
    {
    CategoryName=prompt("中文:","");
    }
    while (!/^[\u4e00-\u9fa5]+$/.test(CategoryName) || CategoryName==null);
    alert('OK');
      //-->
      </SCRIPT>
      

  4.   

    Click the link to solve your problem.Good luck!