By A Web Design
In this example we are checking to see that the data entered into the username form field is only characters, numeric values or spaces. The username form field must not accept any other special characters.
This example displays a form that requires a Username to accept only characters, numeric values or spaces before its content are dispatched to a Web server for further processing. The look and feel of the form is as shown in diagram 1.
Diagram1
The first snippet of code described is the HTML responsible for rendering the form in the visitor’s browser as shown in diagram 1.
If Username contains special characters other than the ones permitted and the Submit button is clicked an Alert with an appropriate error message will be displayed as shown in diagram 2.

Diagram2
<form name="frmTest" id="frmTest" method="post" action="" onsubmit="return validateTest(document.frmTest);"> <table id="tblTest" width="50%"> <tr> <td align="right">Username</td> <td><input type="text" name="txtUsername" id="txtUsername" value="" title="Username" /></td> </tr> <tr colspan="2" style="padding-left:160px;"> <td> <input type="submit" name="btnSubmit" id="btnSubmit" value="Submit" /> <input type="reset" name="btnCancel" id="btnCancel" value="Cancel" /> </td> </tr> </table> </form>
Elements used in the HTML code snippet are:
Description of each element
In the form frmTest the Javascript function validateTest(document.frmTest) is called when the Submit button is clicked. This is how that happens:
When the Submit button is clicked, the frmTest onsubmit method is automatically invoked which in turn invokes the Javascript function validateTest(); The form is passed to this Javascript function as the parameter - document.frmTest. Hence the function validateTest(); operates on document.frmTest.
It’s the signature of validateTest(); that tests if txtUsername is left empty or not.
<script type="text/javascript"> function validateTest(objFrm) { var regex = /^[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\s]*$/ ; //regex variable if(objFrm.txtUsername.value=="") //checking if the textbox txtUsername is empty { alert("Username cannot be left blank"); //An alert box is popped up in the browser if it is //with a message in it objFrm.txtUsername.focus(); //Once the user responds to the alert the cursor is //placed in the textbox again return false; //The value false is returned to the function so that //form submission } else if(!regex.test(objFrm.txtUsername.value)) { alert("Username can only contain alphabets, numbers and spaces . Please provide valid Username"); // An alert box is popped up in the browser if it is //with a message in it objFrm.txtUsername.focus(); //Once the user responds to the alert the cursor is //placed in the textbox again return false; //The value false is returned to the function so that //form submission } else { return true; } } </script>
NOTE: While Javascript code can be included anywhere in the HTML codespec it is prudent that Javascript is always written within the <HEAD></HEAD> HTML tags.
To separate Javascript code from HTML code it is always placed within the <script></script> that are normally placed within <HEAD></HEAD> HTML tags.
The <SCRIPT> tag has following attributes:
type: It specifies MIME type of script
src: Specifies the URL of an external Javascript file if one is used
Working of the Javascript code:
var regex = /^[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\s]*$/ ;
if(objFrm.txtUsername.value=="")
alert("Username cannot be left blank");
objFrm.txtUsername.focus();
else if(!regex.test(objFrm.txtUsername.value))
alert("Username can only contain alphabets, numbers and spaces. Please provide valid Username ");
NOTE: In this specific case nothing else will happen because the form’s ACTION attribute is loaded with the # symbol. Normally value passed to the ACTION attribute of the form is the name of the program at the Web server that will process the data submitted by the form to the Web server. In this case since the ACTION attribute holds # the Web server will receive the data submitted by the form by will do nothing further.
<html> <head> <title>Username not contains special characters</title> <script type="text/javascript"> function validateTest(objFrm) { var regex = /^[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\s]*$/; //regex variable if(objFrm.txtUsername.value=="") //checking if the textbox txtUsername is empty { alert("Username cannot be left blank"); // An alert box is popped up in the browser if it is with //a message in it objFrm.txtUsername.focus(); //Once the user responds to the alert the cursor is placed //in the textbox again return false; //The value false is returned to the function so that form //submission } else if(!regex.test(objFrm.txtUsername.value)) { alert("Username can only contain alphabets, numbers and spaces . Please provide valid Username"); // An alert box is popped up in the browser if it is with //a message in it objFrm.txtUsername.focus(); //Once the user responds to the alert the cursor is placed //in the textbox again return false; //The value false is returned to the function so that form //submission } else { return true; } } </script> </head> <body> <form name="frmTest" id="frmTest" method="post" action="" onsubmit="return validateTest(document.frmTest);"> <table id="tblTest" width="50%"> <tr> <td align="right">Username</td> <td> <input type="text" name="txtUsername" id="txtUsername" value="" title="Username" /> </td> </tr> <tr> <td colspan="2" style="padding-left:160px;"> <input type="submit" name="btnSubmit" id="btnSubmit" value="Submit" /> <input type="reset" name="btnCancel" id="btnCancel" value="Cancel" /> </td> </tr> </table> </form> </body> </html>