Html input 限制输入中英文字符,及字符数量统计

Html input 限制输入中英文字符,及字符数量统计 HTML DEMO

<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" οnblur="checkUser()" />
	<span id="usertips"></span>
</body>
</html>




 

 

网络参考文章

一些字符操作的函数

http://www.rosoo.net/a/200611/6423.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="计算" οnclick="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" οnblur="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" οnkeyup="value=this.value.replace(/\D+/g,’’)"> 

    2、只允许输入英文字母、数字和下划线(以下二种方法实现) 
    <input name="username" type="text" style="ime-mode:disabled"> 
    <input name="username" type="text" οnkeyup="value=value.replace(/[^\w\.\/]/ig,’’)"> 

    3、只允许输入英文字母、数字和=@# 
    <input name="username" type="text" οnkeyup="value=value.replace(/[^\w=@#]|_/ig,’’)"> 

    4、只允许输入汉字 
    <input name="username" type="text" οnkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,’’)"> 
1、只允许输入数字 
    <input name="username" type="text" οnkeyup="value=this.value.replace(/\D+/g,’’)"> 

    2、只允许输入英文字母、数字和下划线(以下二种方法实现) 
    <input name="username" type="text" style="ime-mode:disabled"> 
    <input name="username" type="text" οnkeyup="value=value.replace(/[^\w\.\/]/ig,’’)"> 

    3、只允许输入英文字母、数字和=@# 
    <input name="username" type="text" οnkeyup="value=value.replace(/[^\w=@#]|_/ig,’’)"> 

    4、只允许输入汉字 
    <input name="username" type="text" οnkeyup="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,}$"

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值