<>  
<head>  
<script language="javascript">   
/*  
    [^\x00-\xff]即ASCII 编码不在0-255的字符  
    检查是否是汉字或者全角  
  
    alert('abc:' + /[^\x00-\xff]/g.test('abc'));  
    alert('表达' + /[^\x00-\xff]/g.test('表达'));  
  
    alert('abc:' + /[^\x00-\xff]/g.test('abc'));  
*/  
  
function checkUser()   
{  
    var usernameVal = document.getElementById("username").value;  
  
    usertipsSpan = document.getElementById("usertips");  
      
    if (!usernameVal.match( /^[\u4e00-\u9fa5|a-zA-Z]*$/)) {  
        usertipsSpan.innerHTML="必须由汉字、英文字母线组成";  
        return false;  
    } else {  
        usertipsSpan.innerHTML='';  
    }  
      
    if(usernameVal.length > 10){ //一个汉字算一个字符  
        usertipsSpan.innerHTML="大于10个字符!";  
    }  
}  
  
/**  
* 中英文统计(一个中文算两个字符)  
*/  
function chEnWordCount(str){  
    alert(str.length);  
    var count = str.replace(/[^\x00-\xff]/g,"**").length;  
    alert(count);  
    return count;  
}  
</script>   
</head>  
<body>  
    username:<input type="text" value="" name="username" id="username" maxlength="10" onblur="checkUser()" />  
    <span id="usertips"></span>  
</body>  
</html>  

 
 
 
 
 
 
 
网络参考文章
一些字符操作的函数
 
 
 
<script language="javascript">  
 
function calculate() {  
    String.prototype.lenB = function(){return this.replace(/[^\x00-\xff]/g,"**").length;}  
    //var str = "这是一个可以将汉字计算成两个字节的函数";  
    var str =document.all.uInput.value  
    alert("老的算法 = " + str.length);  
    alert("新的算法 = " + str.lenB());  
}  
</script>  

 

 
  
请输入<input name="uInput" type="text">  
<input type="button" value="计算" onclick="calculate()"/>    
结果为<input name="result" type="text">  
 
 
 
javascript/JS限制用户名只能输入 汉字字母和数字下划线
http://blog.163.com/[email protected]/blog/static/66003219201332554849288/
 
验证用户名的一个例子:
 
 
html:
 
 <input type="text" value="" name="username" id="username" onblur="checkUser()"/><span id="usertips"></span>
 
 
 
js:
 
function checkUser() 
 
{
 
var username = $("#username").val();
 
if (!username.match( /^[\u4E00-\u9FA5a-zA-Z0-9_]{3,20}$/)) {
var msg = "汉字 英文字母 数字 下划线组成,3-20位";
$("#usertips").html(msg);
} else {
 $("#usertips").html('');
}
}
 
 
 
1、只允许输入数字 
    <input name="username" type="text" onkeyup="value=this.value.replace(/\D+/g,’’)"> 
 
    2、只允许输入英文字母、数字和下划线(以下二种方法实现) 
    <input name="username" type="text" style="ime-mode:disabled"> 
    <input name="username" type="text" onkeyup="value=value.replace(/[^\w\.\/]/ig,’’)"> 
 
    3、只允许输入英文字母、数字和[email protected]
    <input name="username" type="text" onkeyup="value=value.replace(/[^\[email protected]#]|_/ig,’’)"> 
 
    4、只允许输入汉字 
    <input name="username" type="text" onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,’’)"> 
1、只允许输入数字 
    <input name="username" type="text" onkeyup="value=this.value.replace(/\D+/g,’’)"> 
 
    2、只允许输入英文字母、数字和下划线(以下二种方法实现) 
    <input name="username" type="text" style="ime-mode:disabled"> 
    <input name="username" type="text" onkeyup="value=value.replace(/[^\w\.\/]/ig,’’)"> 
 
    3、只允许输入英文字母、数字和[email protected]
    <input name="username" type="text" onkeyup="value=value.replace(/[^\[email protected]#]|_/ig,’’)"> 
 
    4、只允许输入汉字 
    <input name="username" type="text" onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,’’)"> 
 
只能输入数字:"^[0-9]*$"。 
只能输入n位的数字:"^\d{n}$"。 
只能输入至少n位的数字:"^\d{n,}$"。 
只能输入m~n位的数字:。"^\d{m,n}$" 
只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。 
只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"。 
只能输入有1~3位小数的正实数:"^[0-9]+(.[0-9]{1,3})?$"。 
只能输入非零的正整数:"^\+?[1-9][0-9]*$"。 
只能输入非零的负整数:"^\-[1-9][]0-9"*$。 
只能输入长度为3的字符:"^.{3}$"。 
只能输入由26个英文字母组成的字符串:"^[A-Za-z]+$"。 
只能输入由26个大写英文字母组成的字符串:"^[A-Z]+$"。 
只能输入由26个小写英文字母组成的字符串:"^[a-z]+$"。 
只能输入由数字和26个英文字母组成的字符串:"^[A-Za-z0-9]+$"。 
只能输入由数字、26个英文字母或者下划线组成的字符串:"^\w+$"。 
验证用户密码:"^[a-zA-Z]\w{5,17}$"正确格式为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线。 
验证是否含有^%&',;=?$\"等字符:"[^%&',;=?$\x22]+"。 
只能输入汉字:"^[\u4e00-\u9fa5]{0,}$"