JS에서 각종 문자 입력 제어에 대응해 보았다
4534 단어 JavaScript
배경.
우리 회사의 서비스는 세밀한 입력 제어를 해야 한다.
특히 은행 계좌의 명의자는 반각 가명을 입력할 때 소문자(a등)는 대문자(아시아 등), 카페(장음)는 -(하이픈)로 바꿔야 한다.
그 점을 포함해서 나는 각양각색의 처리를 해 보았다.
작업 예
히라가나로만 변환
비평가명을 입력해도 입력할 수 없습니다.조금 이해하기 어렵지만 마지막'엔지니어'는 영화 가명으로 전환해 확정한 뒤 평가명으로 전환했다.
반각 가명 대문자만 변환 (+ 하이픈)
다음 그림과 같이 축구공을 입력하면 일반 공으로 변환됩니다.
https://github.com/koda-h/input-validate-js
docker-compose로 이곳을 이동하면 다음과 같은 입력 제한 동작을 보여줄 수 있습니다.
이용 방법
필요한 물건
코드 설명 예
<input name="hiragana" type="text" value="">
<script>
var isComposing = false;
// ひらがなのみに変換(スペース含む)
$('[name="hiragana"]').on('keyup blur compositionstart compositionend', function (event) {
// 3番目の引数で最大入力文字数を制御
convert_hiragana(this, event.type, 30);
});
</script>
https://github.com/koda-h/input-validate-js/blob/master/public/index.html 여기에도 기술례가 있으니 참조하시오.
해설
compositionstart
, compositionend
는 IME의 텍스트 편집 모니터링에 사용되는 이벤트입니다.글로벌에서 정의
var isComposing;
compositionstart
(IME 가져오기 중)의 경우 isComposing = true;
입니다.이 상태
keyup
에서 사건blur
이 검출되면 전환(※ 1)됩니다.그리고
compositionend
(IME 입력 후 Enter 누르기)의 정시isComposing = false;
에서 이 상태에서 전환하지 않는다(※ 1).(※ 1)여기.의 부분
참고 자료
Reference
이 문제에 관하여(JS에서 각종 문자 입력 제어에 대응해 보았다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/koda-h/items/cdf8479440491542daec텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)