js 输入框里面不能输入特殊字符串 用正则表达式实现
时间: 2024-02-17 11:02:43 浏览: 84
好的,针对您的问题,以下是一个使用正则表达式实现输入框限制特殊字符的示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>限制输入框特殊字符</title>
<script>
function checkInput(input) {
// 定义正则表达式,只允许输入数字、字母和下划线
var reg = /^[0-9a-zA-Z_]+$/;
if (!reg.test(input.value)) {
// 如果输入的内容不符合正则表达式,则清空输入框
input.value = '';
alert('输入的内容不能包含特殊字符!');
}
}
</script>
</head>
<body>
<input type="text" onblur="checkInput(this);" />
</body>
</html>
```
在上面的代码中,我们定义了一个正则表达式 `^[0-9a-zA-Z_]+$`,表示只允许输入数字、字母和下划线。然后在输入框的 `onblur` 事件中,调用 `checkInput` 函数来判断输入的内容是否符合正则表达式,如果不符合,则清空输入框并弹出提示框。
您可以根据自己的需求,修改正则表达式的内容,来实现不同的限制。希望对您有所帮助!
相关问题
使用正则表达式来禁止输入框输入特殊字符串 但是可以输入中文
可以使用以下正则表达式来匹配只包含中文汉字且不包含特殊字符的字符串:
```javascript
/^[^\s`~!@#$%^&*()_+=[\]{};':"\\|,.<>?/!¥…()—【】‘;:”“’。,、?]+$/
```
其中,`^` 表示匹配字符串开头,`$` 表示匹配字符串结尾,`[^\s`~!@#$%^&*()_+=[\]{};':"\\|,.<>?/!¥…()—【】‘;:”“’。,、?]` 表示匹配除了特殊字符以外的所有字符,`\s` 表示空格字符。
完整的代码示例:
```javascript
const reg = /^[^\s`~!@#$%^&*()_+=[\]{};':"\\|,.<>?/!¥…()—【】‘;:”“’。,、?]+$/;
if (reg.test(str)) {
// 匹配成功,str 只包含中文汉字且不包含特殊字符
} else {
// 匹配失败,str 包含特殊字符或空格
}
```
其中,`str` 表示需要匹配的字符串。如果需要允许用户输入空格,可以将正则表达式中的 `\s` 删掉即可。
写3个js正则表达式要求:输入框内容不允许出现中文字符串与空格
1. /^[^\u4e00-\u9fa5\s]+$/ //不允许出现中文字符和空格
2. /^[^\u4e00-\u9fa5 ]+$/ //不允许出现中文字符和空格(含tab键)
3. /^[\w-]+$/ //只允许输入字母、数字、下划线和破折号(-)的组合,不允许出现空格和中文字符
阅读全文