Vincent
Vincent

Reputation: 61

Check an input with jQuery.contains()

I want to validate a form with jQuery. So I need to check if an input field ("#validatename") does not contain few words, like 'United States of America', 'United Kingdom' or 'France' for instance.

To forbidden 'United States of America" (I'll see later for an array with all forbidden strings!), I have...

$("#validatename").keyup(function()
{
 var name = $("#validatename").val();
 if(name != '')
 {
   if ($('#validatename:contains("United States of America")').length > 0) // http://stackoverflow.com/questions/902597/jquery-checking-to-see-if-div-contains-text-then-action
   {
    $("#validatename").css({
    "background-image": "url('no.png')"
    });
   }
   else
   {
    $("#validlastname").css({
    "background-image": "url('yes.png')"
    });
   }
 }
}

... But it doesn't work: yes.png is always displaying!

Any help or idea will be greatly appreciated!

Thanks a lot.

Upvotes: 5

Views: 16923

Answers (2)

Manish Mulani
Manish Mulani

Reputation: 7375

instead of

$('#validatename:contains("United States of America")').length > 0

you can use

name.indexOf("United States of America") != -1

Upvotes: 2

Raynos
Raynos

Reputation: 169383

try

$("#validatename").val().indexOf("United States of America") > -1

Upvotes: 8

Related Questions