我需要编写一些Javascript来检查输入,只允许数字和字母以及' - '和'_'以及空格键。
这是我的正则表达式
var pattern = /^([a-zA-Z])([a-zA-Z0-9_-]){1,80}$/;
以上正则表达式不包括空格键。如何在我的正则表达式中添加空格条件。
答案 0 :(得分:3)
对我而言:
var pattern = /^([a-zA-Z])([a-zA-Z0-9_ -]){1,80}$/;
作品。
也许你遇到了这样尝试的问题?
var pattern = /^([a-zA-Z])([a-zA-Z0-9_- ]){1,80}$/;
并且正则表达式Parser认为你“强调空格键”而不是“下划线和空格键? (没有测试)
做了一点测试
<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>
我猜我的假设是对的;)
<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>