我有一个文本框,我想确保一些货物和坏货。
例如,好的可能包括:
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.-]+$/;
允许空格?
答案 0 :(得分:4)
您可以使用此正则表达式仅在中间(不在开头/结尾)允许空格:
var rx = /^[\w.-]+(?:[ \t]+[\w.-]+)*$/gm;
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