7

这是我到目前为止所拥有的:

function checkTitle(){
    reg = /^[\w ]+$/;
    a = reg.test($("#title").val());    
    console.log(a);
}

到目前为止,在我的测试中,它捕获了除_. 如何捕获包括_当前函数在内的所有特殊字符?

我需要字符串只有字母数字字符和空格。感谢帮助,因为我很难理解正则表达式模式。

谢谢!

4

2 回答 2

13

您的问题是\w匹配所有字母数字值下划线。

而不是解析整个字符串,我只是寻找任何不需要的字符。例如

var reg = /[^A-Za-z0-9 ]/;

如果结果reg.testtrue,则字符串验证失败。

于 2013-09-09T05:57:38.413 回答
2

既然您说您是 RegExp 的新手,我不妨在答案中包含一些提示。我建议使用以下正则表达式:

/^[a-z\d ]+$/i

这里:

  1. 不需要大写AZ,因为i最后的标志,以不区分大小写的方式匹配
  2. \d 特殊字符表示数字
于 2013-09-09T06:05:33.613 回答