Reputation:
Special characters <
, >
, %
, ''
, ""
, $
and ^
are not allowed in a textbox. I need to put a validation check to restrict these characters on submit along with the null check.
I wrote entire validation code in a function and calling it on click of the submit button, but the function is not recognised on click.
Please help me write some JavaScript code to achieve this functionality.
Upvotes: 2
Views: 104135
Reputation: 99
Try this:
$('#text').keypress(function (e) {
validationForSpecialchar(e);
});
function validationForSpecialchar(e){
var regex = new RegExp("^[a-zA-Z0-9-]+$");
var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
if (regex.test(str)) {
return true;
}
e.preventDefault();
return false;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Enter something here : <input id="text">
Upvotes: 2
Reputation: 1
function alphanumeric_only(event)
{
var keycode;
keycode=event.keyCode?event.keyCode:event.which;
if ((keycode == 32) || (keycode >= 47 && keycode <= 57) || (keycode >= 65 && keycode <= 90) || (keycode >= 97 && keycode <= 122)) {
return true;
}
else {
alert("Sorry You can not insert Special Character");
return false;
}
return true;
}
Upvotes: 0
Reputation: 201
A much simpler way is to use indexOf in javascript,
function isSpclChar(){
var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?";
if(document.qfrm.q.value.indexOf(iChars) != -1) {
alert ("The box has special characters. \nThese are not allowed.\n");
return false;
}
}
Upvotes: 7
Reputation: 21
function isSpclChar(){
var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?";
for (var i = 0; i < document.qfrm.q.value.length; i++) {
if (iChars.indexOf(document.qfrm.q.value.charAt(i)) != -1) {
alert ("The box has special characters. \nThese are not allowed.\n");
return false;
}
}
}
Upvotes: 2
Reputation: 66226
Try something like
<form ... onsubmit="function()">
In function you can get text from your textarea or what you are using. If data is valid function () should return true. Otherwise form wouldn't be submitted.
Upvotes: 0