프로젝트 작업을 할 때 저는 모든 사람을 위한 js를 작성합니다. 텍스트의 문자 수를 제한하는 문제와 관련하여 실제 개발에서 자주 사용됩니다. 주요 문제는 중국어 제한에서 발생합니다. 다음 코드는 이 코드를 바이트 수 제한에 대한 확인 문제를 해결합니다. js 파일을 올려서 인증페이지에 소개하시면 사용하실 수 있습니다! 동시에 여러분의 많은 응원과 소중한 의견 부탁드리겠습니다. 앞으로도 좋은 글 많이 올려드리겠습니다 감사합니다!!
다음은 인용문입니다:
/*
가치: 가치;
byteLength: 데이터베이스 바이트 길이
제목: 필드 중국어 이름
속성: 속성 이름
사용 지침:
(1) onkeyup="limitLength(this.value,100,'name','name')" 추가
(2) id="name" 또는 [struts 태그] styleId="name"
참고: ID 이름과 속성 속성 이름은 동일해야 합니다.
예: <textarea name="explain" id="explain" onkeyup="limitLength(value,5,'semantic explain','explain')" >
또는
<input type="text" name="explain" id="explain" onkeyup="limitLength(value,5,'semantic explain','explain')" >
*/
함수 제한 길이(값, 바이트 길이, 제목, 속성) {
var newvalue = value.replace(/[^x00-xff]/g, "**");
var 길이 = newvalue.length;
//채워진 바이트 수가 설정한 바이트 수보다 적은 경우
if (길이 * 1 <=byteLength * 1){
반품;
}
varlimitDate = newvalue.substr(0,byteLength);
변수 개수 = 0;
var 한계값 = "";
for (var i = 0; i <limitDate.length; i++) {
var flat =limitDate.substr(i, 1);
if (플랫 == "*") {
카운트++;
}
}
변수 크기 = 0;
var istar = newvalue.substr(byteLength * 1 - 1, 1);//체크포인트가 "×"인지 여부
//기준점이 ×이면 기준점에 ×가 있는지, 짝수인지 홀수인지 판단합니다.
if (개수 % 2 == 0) {
//짝수일 때
크기 = 개수 / 2 + (byteLength * 1 - 개수);
한계값 = value.substr(0, 크기);
} 또 다른 {
//홀수일 때
크기 = (개수 - 1) / 2 + (byteLength * 1 - 수);
한계값 = value.substr(0, 크기);
}
Alert(title + "최대 입력" + byteLength + "바이트("+byteLength /2+" 한자에 해당)!");
document.getElementById(attribute).value = 제한값;
반품;
}