如何使用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
请参阅.test
和RegExp
。
\w
匹配任何字母字符。 \s
匹配任何空格字符。
让我们将它合并到您的代码段中:
var tagCheckRE = new RegExp("(\\w+)(\\s+)(\\w+)"); jQuery.validator.addMethod("tagcheck", function(value, element) { return tagCheckRE.test(value); }, "At least two words.");