正则表达式检查字符串是否仅包含字母数字字符和空格 - javascript

时间:2013-09-09 05:51:14

标签: javascript regex

这是我到目前为止所做的:

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

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

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

谢谢!

2 个答案:

答案 0 :(得分:10)

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

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

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

如果reg.test的结果为true,则字符串验证失败。

答案 1 :(得分:1)

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

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

这里:

  1. 不需要大写字母A-Z,因为最后有i标志,它以不区分大小写的方式匹配
  2. \ d特殊字符代表数字