如何使用jqueryvalidation插件检查至少两个单词?

所以我有这个:

jQuery.validator.addMethod("tagcheck", function(value, element) { var space = value.split(' '); return value.indexOf(" ") > 0 && space[1] != ''; }, "At least two words."); 

工作完美,但如果我在第一个字符之前有一个空格或两个单词之间的空格,它就不起作用了。

任何的想法? 谢谢

它之间有两个空格:

 var string = "one two"; var space = string.split(" "); // ["one", "", "two"] There is a space between the first // space and second space and thats null. 

它在第一个角色之前有一个空格。

 var string = " foo bar"; var location = value.indexOf(" "); // returns 0 since the first space is at location 0 

你想要的是使用正则表达式。

 var reg = new RegExp("(\\w+)(\\s+)(\\w+)"); reg.test("foo bar"); // returns true reg.test("foo bar"); // returns true reg.test(" foo bar"); // returns true 

请参阅.testRegExp

\w匹配任何字母字符。 \s匹配任何空格字符。

让我们将它合并到您的代码段中:

 var tagCheckRE = new RegExp("(\\w+)(\\s+)(\\w+)"); jQuery.validator.addMethod("tagcheck", function(value, element) { return tagCheckRE.test(value); }, "At least two words.");