js 限制输入框只能输入IP和分号
时间: 2023-01-28 10:51:04 浏览: 89
可以使用正则表达式来限制输入框只能输入 IP 和分号。
例如,下面的代码会限制输入框只能输入四个数字(每个数字之间用点号隔开)和分号:
```
const input = document.querySelector('input');
input.addEventListener('input', (event) => {
const value = event.target.value;
if (!/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3};?$/.test(value)) {
event.target.value = value.substring(0, value.length - 1);
}
});
```
在这段代码中,我们使用了一个正则表达式,该正则表达式只允许输入四个数字(每个数字之间用点号隔开)和一个可选的分号。
当用户输入不符合正则表达式的字符时,我们会使用 `substring` 函数删除最后一个输入的字符。
你也可以使用其他的正则表达式来限制输入的内容,例如只允许输入数字或字母等。
相关问题
js正则限制输入框只能输入实数
可以通过正则表达式限制输入框只能输入实数。以下是一个限制输入框只能输入实数的示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>实数输入框</title>
<meta charset="UTF-8">
</head>
<body>
<input type="text" id="realNumberInput" placeholder="只能输入实数">
<script>
var realNumberInput = document.getElementById("realNumberInput");
realNumberInput.oninput = function() {
this.value = this.value.replace(/[^\d\.\-]/g, ""); // 只保留数字、小数点和负号
this.value = this.value.replace(/^\./g, ""); // 第一个字符不能是小数点
this.value = this.value.replace(/\.{2,}/g, "."); // 不能同时输入多个小数点
this.value = this.value.replace(/\-\-/g, "-"); // 不能输入多个负号
this.value = this.value.replace(/\-$/g, ""); // 不能以负号结尾
this.value = this.value.replace(/^(\-?\d+)\.(\d\d).*$/, "$1.$2"); // 保留两位小数
}
</script>
</body>
</html>
```
这段代码中,我们首先获取了输入框元素,并为其绑定了`oninput`事件。在事件处理函数中,我们使用正则表达式限制了输入框只能输入数字、小数点和负号,并且对输入内容进行了一些限制,例如第一个字符不能是小数点,不能同时输入多个小数点等等。最后,我们使用正则表达式保留了两位小数。
js控制输入框只能输入英文和数字
要实现这个功能,您可以使用JavaScript编写一个函数来限制输入框中只能输入英文和数字。以下是一个示例:
```javascript
function restrictInput(inputField) {
inputField.addEventListener('input', () => {
let regex = /[^a-z0-9]/gi;
inputField.value = inputField.value.replace(regex, '');
});
}
```
这个函数接受一个输入框作为参数,并使用正则表达式将输入框中所有不是英文和数字的字符都替换为空字符串。您可以将这个函数与您的HTML代码中的输入框一起使用,如下所示:
```html
<input type="text" id="myInput">
<script>
let myInput = document.getElementById('myInput');
restrictInput(myInput);
</script>
```
使用这种方法,您就可以控制输入框只能输入英文和数字了。