我需要编写一些 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/