필드에 유효하지 않은 문자 입력 방지: 종합 가이드
<p><code>Onkeydown</code>에서는 다음 JavaScript를 실행합니다. </p>
<pre class="brush:php;toolbar:false;">function ThisOnKeyDown(el) {
if (el.title == 'textonly') {
!(/^[A-Za-zÑñ-s]*$/i).test(el.value) ? el.value = el.value.replace(/[^A-Za-zÑñ-s]/ig, '') : 없는;
}
if (el.title == 'numbersonly') {
!(/^[0-9]*$/i).test(el.value) ? el.value = el.value.replace(/[^0-9]/ig, '') : null;
}
if (el.title == 'textandnumbers') {
!(/^[A-Za-zÑñ0-9-s]*$/i).test(el.value) ? el.value = el.value.replace(/[^A-Za-zÑñ0-9-s ]/ig, '') : null;
}
}</pre>
<p>세 가지 제목 속성 중 하나가 페이지의 각 입력 필드에 할당됩니다. 유효하지 않은 문자를 올바르게 제거하면 코드가 작동하지만 다음 문자를 입력할 때까지는 작동하지 않습니다. 잘못된 입력을 단순히 거부하는 방법을 찾고 싶습니다. 당신의 도움을 주셔서 감사합니다! </p>
<p><strong>편집</strong>: 저는 전 세계적으로 이벤트를 만듭니다. 제가 한 일은 다음과 같습니다. </p>
<pre class="brush:php;toolbar:false;">함수 세계화() {
var inputs = document.getElementsByTagName('input');
for (i = 0; i < inputs.length; i++) {
inputs[i].onfocus = createEventHandler(
ThisOnFocus, 입력[i]);
inputs[i].onblur = createEventHandler(
ThisOnBlur, 입력[i]);
inputs[i].onkeydown = createEventHandler(
ThisOnKeyDown, 입력[i]);
inputs[i].onkeyup = createEventHandler(
ThisOnKeyUp, 입력[i]);
}
}</pre>
<p><code>globalization()</code>run<code>body.onload</code></p>
<p>따라서 일반적인 입력 필드에는 HTML이 있으며 다음과 같은 함수 호출은 없습니다. </p>
<pre class="brush:php;toolbar:false;"><input id="AppFirstName" style="width: 150px;" type="text" maxlength="30" title="textonly"/> ;</pre>
<p><br /></p>