验证文件时在正则表达式中允许空格

时间:2016-08-19 19:24:53

标签: javascript jquery regex

我有一个文本框,我想确保一些货物和坏货。

例如,好的可能包括:

GoodString
GoodString88
99GoodString

我不想包括的一些不好的事情是:

Good*String
Good&String

但我想允许的一件事是允许单词之间的空格,所以这应该是好的:

Good String

然而我的正则表达式/ js声明这不是一个好的字符串 - 我想允许它。我正在使用测试例程,而我和正则表达式一样愚蠢。我不知道为什么我永远无法理解这些事情......

无论如何,我的验证如下:

 var rx = /^[\w.-]+$/;
 if (!rx.test($("#MainContent_txtNewDocumentTitle").val())) {
    //code for bad string
 }else{
    //code for good string
 }

我能做些什么:

var rx = /^[\w.-]+$/;

允许空格?

1 个答案:

答案 0 :(得分:4)

您可以使用此正则表达式仅在中间(不在开头/结尾)允许空格:

var rx = /^[\w.-]+(?:[ \t]+[\w.-]+)*$/gm;

RegEx Demo

RegEx分手:

^             # line start
[\w.-]+       # match 1 or more of a word character or DOT or hyphen
(?:           # start a non-capturing group
   [ \t]+     # match one or more space or tab
   [\w.-]+    # match 1 or more of a word character or DOT or hyphen
)*            # close the non-capturing group. * will allow 0 or more matches of group
$             # line end
/gm           # g for global and m for multiline matches

RegEx Reference