>  기사  >  웹 프론트엔드  >  js 문자 제한으로 인해 한자 1자가 2자로 간주됩니다.

js 문자 제한으로 인해 한자 1자가 2자로 간주됩니다.

巴扎黑
巴扎黑원래의
2017-09-13 09:38:101628검색

때때로 사용자 입력을 제한하거나 특정 길이의 문자열을 가로채야 하고 이러한 기능 코드를 사용해야 하는 경우가 있습니다. 여기서는 Script House의 편집자가 이를 공유해 드립니다

html


<input type="text" id="txt">

core js code


//字符串截取
function getByteVal(val, max) {
	var returnValue = &#39;&#39;;
	var byteValLen = 0;
	for (var i = 0; i < val.length; i++) {
		if (val[i].match(/[^\x00-\xff]/ig) != null)
		byteValLen += 2;
		else
		byteValLen += 1;
		if (byteValLen > max)
		break;
		returnValue += val[i];
	}
	return returnValue;
}
$(&#39;#txt&#39;).bind(&#39;keyup&#39;,function(){
	var val=this.value;
	if(val.replace(/[^\x00-\xff]/g,"**").length>14){
		this.value=getByteVal(val,14)
	}
})

참고: 코드는 jquery 바인딩 이벤트를 사용하므로 jquery 프레임워크를 추가해야 합니다.

위 내용은 js 문자 제한으로 인해 한자 1자가 2자로 간주됩니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.