In this tutorial is presented a way to check /validate on the client side (with JavaScript) the values added in text fields in a form, the allowed characters (specified with RegExp) and their number.

Here it is presented a simple example, with 3 text fields. Takes the value from each text box, and then check one by one each box.
In the same way you can apply to forms with multiple text boxes and textarea. See the explanation below, and the comments in the code.


Script code with example

<i>- Name and Password must contain only numbers, letters and dashes '-', '_'.<br>
- Name between 3 and 18 characters, Password between 7 and 18 characters.</i>
<form action='#' method='post' onsubmit='return checkForm(this);'>
 <label for='name1'>Name:</label> <input type='text' name='name1' id='name1' /><br>
 <label for='pass1'>Password:</label> <input type='password' name='pass1' id='pass1' /><br>
 <label for='email1'>E-mail:</label> <input type='text' name='email1' id='email1' /><br>
 <input type='submit' name='fsubmit' id='fsubmit' value='Submit' />
</form>
<script>
// RegExp to allow only numbers, letters and dashes '-', '_'
var regx_chr = /^([a-zA-Z0-9_-]+)$/;
var regx_mail = /^([a-zA-Z0-9]+[a-zA-Z0-9._%-]*@([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,4})$/; // RegExp for e-mail address

// Function accessed by 'onsubmit'
// gets the form fields and check /validate their value
function checkForm(frm1) {
 var fre = false; // variabile returned by this function

 // gets each text box
 var name1 = frm1.name1;
 var pass1 = frm1.pass1;
 var email1 = frm1.email1;

 // check the values (Name, Password, E-mail). If they are incorrect, it returns an alert, then selects that field
 if(name1.value.length<3 || name1.value.length>18 || name1.value.search(regx_chr)==-1) {
 alert('The Name must contain between 3 and 18 characters \nNumbers, Letters, - and _');
 name1.select(); // select the field for Name
 }
 else if(pass1.value.length<7 || pass1.value.length>18 || pass1.value.search(regx_chr)==-1) {
 alert('The Password must contain between 7 and 18 characters \nNumbers, Letters, - and _');
 pass1.select(); // select the field for Password
 }
 else if(email1.value.search(regx_mail)==-1) {
 alert('Add a correct e-mail address');
 email1.select(); // select the field for E-mail
 }
 else fre = true;

 return fre;
}
</script>
When the Submit button is clicked (or Enter on a field) to submit the form, the event 'onsubmit' is triggered. The code: 'return checkForm(this);' calls and returns the result of the 'checkForm()' function.
- 'this' represents the current object, the form.
The function returns the value of a variable (fre) initially set false.
The parameter 'frm1' stores the form, passed with 'this'.
The code 'frm1.field_name' takes the field ('field_name' is the name of the field, added in the 'name' attribute).
By adding the 'value' keyword, it takes its value, then, with 'length' gets the number of characters.
If the values ​​do not correspond with the data to be added, an alert displays a message, the 'fre' variable remains false, which determines not submitting the form.
If the values ​​are correct, the last instruction: 'else fre = true;' , sets the 'fre' variable true, that determines submitting the form.

Daily Test with Code Example

HTML
CSS
JavaScript
PHP-MySQL
Click on the HTML tag which creates an horizontal line in web page.
<br /> <em> <hr />
Some content ...
<hr />
Content under line ...
Which CSS property defines the text color?
font-style font-variant color
h2 {
  color: #cbdafb;
}
Click on the function which searches if a character, or text exists in a string.
indexOf() toString() split()
var str = "Web courses - http://CoursesWeb.net/";
if(str.indexOf("http://") == -1) alert("http:// isn`t in string");
else alert("http:// is in string");
Which function splits a string into an array of strings based on a separator?
array_merge() explode() implode()
$str = "apple,banana,melon,pear";
$arr = explode(",", $str);
var_export($arr);      // array (0=>"apple", 1=>"banana", 2=>"melon", 3=>"pear")
Check and Validate characters in form fields

Last accessed pages

  1. Wake Up! (4028)
  2. Styling link buttons using a Single Image and CSS (1891)
  3. Define Custom List-item Markers, Bullets for UL, OL Lists (4172)
  4. Contact page - CoursesWeb (29641)
  5. Tabs effect with CSS (30302)

Popular pages this month

  1. Making DIV Contents Scroll Horizontally, with multiple Div`s inside (1083)
  2. Contact page - CoursesWeb (1055)
  3. Tabs effect with CSS (1051)
  4. Courses Web: PHP-MySQL JavaScript Node.js Ajax HTML CSS (453)
  5. PHP getElementById and getElementsByTagName (332)