With the help of stack overflow i got the below code for text box validation on conditions
-
it must contain atleast 3 characters
-
it must contain atleast one vowel
-
it must contain only alphabets
-
submit button must be enabled only if above 3 condtions are met
var $input = $('#myinput'); var $error = $('.error'); var $submit = $('#submit'); var Filters = { min: { re: /.{3,}/, error: 'Must be at least 3 characters.' }, char: { re: /[a-z]/i, error: 'Must be only letters.' }, vowel: { re: /[aeiou]/i, error: 'Must have at least one vowel.' } }; function test(value, filters) { var isValid = false; for (var i in filters) { isValid = filters[i].re.test(value); $error.hide(); $submit.show(); if (!isValid) { $error.show().text(filters[i].error); $submit.hide(); break; } } return isValid; } $input.on('keyup blur', function() { test(this.value, Filters); });
But still, it is accepting numbers.. consider the input is aa99. its enabling button.
In the demo I posted in your last question
aa99does NOT validate try it http://jsbin.com/ezatap/6/edit.Instead of
/[a-z]/iuse/^[a-z]+$/i