我需要在输入标签中使用实时验证,以便用户只输入以7、8或9开头的数字。现在,我有以下不工作的东西。只有当用户将数字7到9作为输入字段上的第一个数字时,才应该出现在输入字段中。
<input type="tel" label="Mobile Number" pattern="^[7-9][0-9]{8}$" maxLength="10"/>
发布于 2017-09-30 14:52:59
只有在提交时才会验证输入模式。
如果您想要实时验证,可以使用javascript实现。
(function() {
var input = document.getElementById('YOUR_INPUT_ID');
var pattern = /^[7-9][0-9]{0,8}$/;
var value = input.value;
!pattern.test(value) && (input.value = value = '');
input.addEventListener('input', function() {
var currentValue = this.value;
if(currentValue && !pattern.test(currentValue)) this.value = value;
else value = currentValue;
});
})();
https://stackoverflow.com/questions/46486831
复制相似问题