js判断输入框中包含除数字(0-9) 26个字母(包括大小写)和下划线(_)以外的其他字符
时间: 2023-12-30 18:03:42 浏览: 135
可以使用正则表达式来判断输入框中是否包含除数字、字母和下划线以外的其他字符,代码如下:
```javascript
var input = document.getElementById("input-box").value;
var pattern = /^[a-zA-Z0-9_]+$/;
if (!pattern.test(input)) {
alert("输入框中包含除数字、字母和下划线以外的其他字符!");
}
```
这里使用了正则表达式 `/^[a-zA-Z0-9_]+$/`,表示输入的字符串必须由字母、数字和下划线组成,且不能包含其他字符。`test()` 方法用来测试一个字符串是否匹配该正则表达式,如果匹配则返回 `true`,否则返回 `false`。
相关问题
input输入框输入限制是数字和字符
输入框设置限制通常是通过前端验证技术,比如HTML5的`<input>`元素的`type`, `pattern`, 和 JavaScript 的正则表达式来实现的。当你需要只允许用户输入数字和字符时,可以这样做:
1. 使用`type="text"` 或 `type="number"` (仅限于数字):
```html
<input type="text" pattern="[0-9a-zA-Z]*">
```
这里,`pattern="[0-9a-zA-Z] *"`表示允许输入的是0-9数字和A-Z、a-z大小写字母。
2. 如果你还需要包含其他特定字符,只需将字符添加到正则表达式中即可。例如,允许下划线 `_` 和破折号 `-`:
```html
<input type="text" pattern="[0-9a-zA-Z_-]*">
```
JavaScript 可以做更复杂的实时验证:
```javascript
const input = document.querySelector('input');
input.addEventListener('input', function() {
const value = this.value;
if (!/^[0-9a-zA-Z_\-]+$/.test(value)) {
this.setCustomValidity("请输入数字、字母、下划线或破折号");
} else {
this.setCustomValidity('');
}
});
```
阅读全文