Между двумя словами:
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.");