LegendKiller
LegendKiller

Reputation: 23

Special Characters Validation Not Working as expected

I'm trying to apply Regular Expression Validation to a textbox User Control and it's only working when I enter something at the end of the text in the textbox. And when I type something somewhere in the middle of the text, it's not working.

For Example: Hey Man! (When I type '!' at the end of the text, my Code's working fine) Hey! Man! (But when I insert '!' somewhere in the middle of the text after the entire text is typed, not working)

Below is my Code:

$("textarea[id$=<%= TxtValue.ClientID %>]").keyup(function () {
            var txt = $(this).val();
            var regex = new RegExp('[^0-9a-zA-Z-,_.\:\s]+$');
            var vldttxt = regex.test(txt);
            if (txt.length > 0 && vldttxt === true) {
                alert("Error");
            }
            var noSpclChar = txt.replace(regex, "");
            this.value = noSpclChar;
        });

Any help would be greatly appreciated! Thanks!

Upvotes: 0

Views: 860

Answers (2)

Sai Narasimha Tech
Sai Narasimha Tech

Reputation: 34

> Most simple code ....Special Characters Validation

  function checkForm(theForm) {
     var result = /^[a-z0-9\\.;,:'\\s]{1,100}$/i(theForm.data.value);

     if (!result) {
        alert("No legal characters entered");
     }

     return !!result;
  }

Upvotes: 1

kowie le roux
kowie le roux

Reputation: 84

This should work. Your ending $ is what is keeping it from matching anything within the string:

$("textarea[id$=<%= TxtValue.ClientID %>]").keyup(function () {
            var txt = $(this).val();
            var regex = new RegExp('[^0-9a-zA-Z-,_.\:\s]+');
            var vldttxt = regex.test(txt);
            if (txt.length > 0 && vldttxt === true) {
                alert("Error");
            }
            var noSpclChar = txt.replace(regex, "");
            this.value = noSpclChar;
        });

Upvotes: 1

Related Questions