jquery中的文本验证,String包含精确的子串而不是部分。
例如:输入字符串: Hello World 子字符串: Hello 类似str.indexof(SubString) >-1 or /SubString/.test(str)
的验证如果有人在输入文本框中输入He,则验证上述条件它应该验证确切的字符串“ Hello ”而不是他。这该怎么做。您的建议将受到高度赞赏。
/Hello/.test(Hello World) - 正确验证为 Hello World
/Hello/.test(He ..) - 它不应该验证,它在他中验证他 llo ..
setValidation: function(){
$.validator.addMethod("no_Hello_word", function(value) {
return /hello/.test(value) || /HELLO/.test(value);
}, "Text mustn't contain word hello/HELLO");
}
答案 0 :(得分:1)
尝试
return !/hello/i.test(value) || /Hello/.test(value)
答案 1 :(得分:0)
你为什么不这样做呢?这不应该验证用户是否输入“他”
var string= "hello, world";
var string_array= string.toLowerCase().split(" ");
if (string_array.indexOf("hello") >= 0){
return true;
} else {
return false;
}
答案 2 :(得分:0)
怎么样:用空格分割字符串,然后在数组中搜索单词:
var exactSearch = function(word, string){
var words = string.split(" ");
for(i = 0; i < words.length; i++){
if(word == words[i]){
return true;
}
}
return false;
}
请参阅工作示例here
<强>更新强>
我想在编辑问题之前我会写下答案。
也许它适合你:
$.validator.addMethod("no_Hello_word", function(value, element) {
return (value.toLowerCase && (value.toLowerCase() === "hello"));
},
"Text mustn't contain word hello/HELLO!"
);
答案 3 :(得分:0)
试试这个:
function isValid(str){
return !/[hH]ello/.test(str);
}
// isValid('Hello') -> false
// isValid('Hello World') -> false
// isValid('He') -> true
如果您希望验证以其他方式进行,则可以将其翻转。
答案 4 :(得分:0)
$.validator.addMethod("helloworld_word", function(value,element) {
return /^((?!helloworld).)*$/i.test(value);
}, "No Hello world");