Html input 限制输入中英文字符,及字符数量统计
<html> <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/peihu@126/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、只允许输入英文字母、数字和=@#
<input name="username" type="text" onkeyup="value=value.replace(/[^\w=@#]|_/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、只允许输入英文字母、数字和=@#
<input name="username" type="text" onkeyup="value=value.replace(/[^\w=@#]|_/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,}$"
补充:web前端 , HTML/CSS ,