我正在尝试通过确保只能输入文本,空格和数字来验证输入字段。我认为最简单的方法是使用正则表达式做类似的事情:
function checkVal() {
var input = document.getElementById("input").value;
if (input.match(/[a-zA-Z0-9]+$/) == null) {
alert("error");
}
}
更具体地说,我需要确保下划线字符不在此字段内(这非常重要)。从测试它看起来似乎没有正常工作,但我认为这更是如此,因为我可能使用正则表达式用于错误的目的而不是因为它在语法上是不正确的。
在输入框中输入时,编写一个函数来排除“下划线”字符会更容易吗?
编辑:为了让这一点更清楚,我只想接受字母,数字和空格。
答案 0 :(得分:6)
不要忘记包含字符串的开头^
(和空格):
/^[a-zA-Z0-9 ]+$/
答案 1 :(得分:2)
尝试使用此正则表达式:
/^[a-zA-Z0-9 ]+$/
我是不敏感的:
编辑:
/^[a-z0-9 ]+$/i
答案 2 :(得分:0)
它看起来不像你检查空间,也只是检查字符串以数字或字符结尾。
试试这个:
function checkVal() {
var input = document.getElementById("input").value;
if (input.match(/^[ a-zA-Z0-9]+$/) == null) {
alert("error");
}
}