3

我试图通过确保只能输入文本、空格和数字来验证输入字段。我认为最简单的方法是通过执行以下操作来使用正则表达式:

function checkVal() {
var input = document.getElementById("input").value; 
if (input.match(/[a-zA-Z0-9]+$/) == null) {
    alert("error");
    }
}

更具体地说,我需要确保下划线字符不在此字段中(这非常重要)。从测试来看,它似乎无法正常工作,但我认为更是如此,因为我可能出于错误的目的使用了正则表达式,而不是因为它在语法上不正确。

在该输入框中键入时,我编写一个排除“下划线”字符的函数会更容易吗?

编辑:为了更清楚一点,我只想接受字母、数字和空格。

4

3 回答 3

6

不要忘记包含字符串的开头^(和空格):

/^[a-zA-Z0-9 ]+$/
于 2012-04-16T10:49:46.380 回答
2

尝试使用这个正则表达式:

/^[a-zA-Z0-9 ]+$/

i 表示不区分大小写:

编辑:

/^[a-z0-9 ]+$/i
于 2012-04-16T10:57:10.103 回答
0

它看起来不像您在检查空格,而且您只是在检查以数字或字符结尾的字符串。

试试这个:

function checkVal() {
var input = document.getElementById("input").value; 
if (input.match(/^[ a-zA-Z0-9]+$/) == null) {
    alert("error");
    }
}
于 2012-04-16T10:51:14.567 回答