2015-07-10 6 views
0

Я попытался проверить данные текстового поля, которые НЕ включают слово ABC в, например. Это мой код:Не содержать определенное слово в jQuery Validation

function ValInput() 
{ 
    $.validator.addMethod("notEqualTo",function (value, element, param) { 
     return this.optional(element) || value != param ; 
    }, "Name must not contain ABC"); 

     $("#Form1").validate({ 
     rules: { 
      <%=txtName.UniqueID%>: { 
       required: true, 
       notEqualTo: "ABC" 
      } 

     }, //rules 
     messages: { 
      <%=txtName.UniqueID%>: { 
       required: "Name is a required field.", 
       notEqual: "Name must not contain the word ABC" 
      } 
     },   
     errorPlacement: function (error, element) { 
      alert(error.text()); 
     } 
    }); 
} 

Поле проверяет, имеет ли название АВС; однако я хочу проверить, находится ли ABC в середине или в конце или в любом месте в названии, как мне это сделать? Как использовать indexOf (в jquery) для этой ситуации? Любая помощь будет оценена по достоинству.

ответ

1

Попробуйте с indexOf способом, как это.

var word = "Name must not contain the word ABC"; 
if(word.indexOf("ABC")>=0) 
    //do something 

DEMO

Надеется, что это помогает.

+0

Большое спасибо, он отлично работает. – Jenny

0

Вы можете использовать регулярное выражение:

var pattern = /^((?!ABC).)*$/; 
console.log(!pattern.test('testAbc')) //false; 
console.log(!pattern.test('testABC')) //true; 
Смежные вопросы