javascript - 如何判断输入的内容是否只有数字、字母和空格?

标签 javascript regex

我需要编写一些 Javascript 来检查输入是否仅允许数字和字母以及“-”和“_”以及空格键

这是我的正则表达式

var pattern = /^([a-zA-Z])([a-zA-Z0-9_-]){1,80}$/;

以上正则表达式不包含空格键。如何将空格键条件添加到我的正则表达式中。

最佳答案

对我来说:

var pattern = /^([a-zA-Z])([a-zA-Z0-9_ -]){1,80}$/;

有效。

也许您在这样尝试时遇到了问题?

var pattern = /^([a-zA-Z])([a-zA-Z0-9_- ]){1,80}$/;

并且正则表达式解析器认为您将“下划线改为空格键”而不是“下划线破折号和空格键? (没有测试过)

编辑

做了一些测试

<script>
alert(/^([a-zA-Z])([a-zA-Z0-9_-]){1,80}$/.test("Aa232423"));
// true
alert(/^([a-zA-Z])([a-zA-Z0-9_ -]){1,80}$/.test("Aa232 423"));
// true 
alert(/^([a-zA-Z])([a-zA-Z0-9_- ]){1,80}$/.test("Aa232423"));
// parser error: invalid range in character set
</script>

我猜我的假设是对的吗;)

对 OP 评论的第二次编辑:

<script>
alert(/^([a-zA-Z])([a-zA-Z0-9_ -]){1,80}$/.test("Aa232-423"));
//true
alert(/^([a-zA-Z])([a-zA-Z0-9_ -]){1,80}$/.test("Aa232-42 3"));
//true
</script>

关于javascript - 如何判断输入的内容是否只有数字、字母和空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3469393/

相关文章:

javascript - 我的 ajax 跨域请求被 Chrome 取消

php - 用元素替换每个字符

regex - 正则表达式查找字符串中模式的最后一次出现

javascript - 在 Web 上的 Firebase 中将电话号码与 Facebook 和 Gmail 帐户相关联

javascript - 使用 IE9 上传之前在 Div 中预览图像

javascript - 无法检测 ng-click 函数中的点击事件

javascript - pug for 循环 - 尝试通过 mixin 参数传入的数字动态创建 li 项

php 检查图像文件名结尾是否不是 .jpg、.jpeg、.png 或 .gif。

regex - Google Analytics(分析)高级自定义过滤器中的正则表达式无法正常工作

c# - 突出显示代码中匹配的括号