它仅应在输入内部接受括号。它不能接受字母或数字
function brackets() {
var inp = document.getElementById("input").value;
var result = document.getElementById("strong").value;
console.log(inp,result)
var l = 0;
var r = 0;
for (var i = 0; i < inp.length; i++) {
if (inp[i] === "(") {
l++;
} else if (inp[i] === ")") {
r++;
}
}
console.log(l,r)
if (l == r) {
document.getElementById("strong").innerHTML = "Matched";
} else if (l !== r) {
document.getElementById("strong").innerHTML = "Not matched";
}
}
document.getElementById("input").addEventListener("input",brackets);
<input type="text" id="input" />
<span id="strong"></span>
答案 0 :(得分:1)
说明::我使用了keydown
事件处理程序。每当按下该键时,它都会检查是否为 paranthesis 。如果不是这样,则不会在input
元素内输入输入。
执行此操作将避免输入字符,检查它是否不是括号,否则将其删除:
document.getElementById("input").addEventListener("keydown", function(event) {
if (!(event.shiftKey && (event.key == ")" || event.key == "("))) {
event.preventDefault();
}
});
<input type="text" id="input" />
答案 1 :(得分:0)
您可以做的是将onchange事件侦听器添加到输入中。然后,当用户在输入上键入内容时,您可以验证输入为“(”或“)”,否则清除输入框
答案 2 :(得分:0)
通过检查键入的字符是否是括号来执行此操作,如果不是,则对最后一个字符进行切片。
list1 = [122, 124, 155, 331(#N/A), 982(#N/A)]
list2 = [122, 124, 444(#N/A)]
list3 = [2(#N/A), 122, 123, 124, 133(#N/A), 155, 332(#N/A), 621(#N/A), 667(#N/A), 982(#N/A)]
and then I guess they would all be in lists again, so, lists.add(list1, list2, list3).
function brackets() {
var inp = document.getElementById("input");
if (inp.value.slice(-1) != '(' && inp.value.slice(-1) != ')') {
inp.value = inp.value.slice(0, -1);
}
}
答案 3 :(得分:0)
尝试一下:
let inp = document.getElementById('input');
var result = "";
inp.addEventListener('keyup', (e) => {
if(inp.value[inp.value.length - 1] === '(' || inp.value[inp.value.length - 1] === ')'){
result += inp.value[inp.value.length - 1]
}
console.log(result)
return result
})
<input id="input">
答案 4 :(得分:0)
首先,我建议使用regexp和pattern属性。 https://www.w3schools.com/tags/att_input_pattern.asp
input:invalid {
border: red solid 3px;
}
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p>An input that CANNOT contain parenthesis</p>
<input type="search" id="search" name="search" pattern="[^()]+" title="Invalid input">
</body>
</html>