I have a problem with "checkNumbers()"
. I'm trying to check if my input is not bigger than 10 numbers; "isAllowedSymbol()"
is working great, but another don't. What is my problem?
function isAllowedSymbol(input)
{
var value = input.value;
var rep = /[a-zA-Z]/;
var rep2 = /[а-яА-Я]/;
if (rep.test(value))
{
value = value.replace(rep, '');
input.value = value;
if (rep2.test(value))
{
value = value.replace(rep2, '');
input.value = value;
}
}
}
var element = document.querySelector("input[name=answer]");
function checkNumbers(element) {
if (element != null && element.value.length > 10) {
element = element.replace(element, '');
}
}
<input type="text" maxlength="10" name="answer" onkeyup="isAllowedSymbol(this);checkNumbers(this);" placeholder="Enter data" > <br>
答案 0 :(得分:0)
您已使用maxlength = 10
作为输入,因此您无法为其添加任何新字符,从而导致element.value.length > 10
永远不会发生的情况。
使用此:
function isAllowedSymbol(input)
{
var value = input.value;
var rep = /[a-zA-Z]/;
var rep2 = /[а-яА-Я]/;
if (rep.test(value))
{
value = value.replace(rep, '');
input.value = value;
if (rep2.test(value))
{
value = value.replace(rep2, '');
input.value = value;
}
}
}
var element = document.querySelector("input[name=answer]");
function checkNumbers(element) {
if (element != null && element.value.length > 10) {
element.value = ''
}
}
<input type="text" maxlength="15" name="answer" onkeyup="isAllowedSymbol(this);checkNumbers(this);" placeholder="Enter data" > <br>
答案 1 :(得分:0)
首先你想做什么? 如果你想输入超过10的输入框然后输入框将被清除,那么首先在输入框的maxlength属性中编辑
<input type="text" maxlength="15" name="answer" onkeyup="isAllowedSymbol(this);checkNumbers(this); " placeholder="Enter data">