JSFiddle - React, Tailwind, and code Playground
by huuzoo
HTML
<input type="text" id="form" maxlength="4" onchange="inputCheck()" pattern="[0-9]{1,4}">
<span class="error">数値以外は入力できません。</span>
<div class="frame">入力内容:<span id="output"></span></div>
<div id="alert"></div>
CSS
.error { display: none; }
input:invalid + .error {
display: block;
color: red;
}
JavaScript
function inputCheck () {
var form = document.getElementById("form");
var form_value = form.value;
if (form_value.match(/[0-9]{1,4}/g) != form_value ) {
form.value = '';
document.getElementById('alert').innerHTML = '4桁以内の数値を入力してください。';
} else {
document.getElementById('alert').innerHTML = 'OKです。';
}
document.getElementById('output').innerHTML = form_value;
}