supergirl
supergirl

Reputation: 35

javascript form validation issue

for my nic input,the no. of characters should be equal to 14 which i already did and the first character should be equal to the first letter in Lastname. how am i suppose to put this validation.

  
    <form name="form" onsubmit="return formValidation()" action="submit.html">
      lastname :<input  type="text" name="lastname" id="lastname">
    		</input><br><br>
    <label>NIC Number:</label>
    			<input  type="text" name="NIC" id="NIC" pattern="[0-9]{14}" maxlength="14"></input></br></br>

    <input id="submit" type="submit" name="submit" id="submit">

Upvotes: 0

Views: 489

Answers (4)

ShuShe
ShuShe

Reputation: 11

 function formValidation() {
        var lastname = $('#lastname').val();
        var NIC = $('#NIC').val();
        if (lastname.charAt(0) != NIC.charAt(0)) {
         return false;
        }

Upvotes: 0

Kiran Shakya
Kiran Shakya

Reputation: 2559

I have modified pattern to accept first character as alphanumeric. Then following function should help you validate the first character mismatch validation.

function formValidation() {
  var ln = document.getElementById("lastname");
  var nic = document.getElementById("NIC");
  if (ln.value.substr(0, 1) != nic.value.substr(0, 1)) {
    alert("NIC first character not acceptable.");
    return false;
  } else {
    return true;
  }
}
<form name="form" onsubmit="return formValidation()" action="submit.html">
  lastname :
  <input type="text" name="lastname" id="lastname">
  </input>
  <br>
  <br>
  <label>NIC Number:</label>
  <input type="text" name="NIC" id="NIC" pattern="[a-zA-Z0-9][0-9]{13}" maxlength="14"></input>
  </br>
  </br>

  <input id="submit" type="submit" name="submit" id="submit">

Upvotes: 0

Rajesh
Rajesh

Reputation: 24915

You can add a custom validation: JSFiddle

Code

function validateNIC() {
    var nic = document.getElementById("NIC").value;
    var lname = document.getElementById("lastName").value;
    var valid = true;

    if (nic.length != 14) {
        console.log("Length must be 14 characters");
    } else if (nic[0] != lname[0]) {
        console.log("First Character of both input should be same");
    }
    else{
    	console.log("Valid")
    }
}
<input type="text" id="lastName">
<input type="text" id="NIC" maxlength=14>
<button onclick="validateNIC()">validate</button>

Upvotes: 1

Suchit kumar
Suchit kumar

Reputation: 11859

try like this using charAt.

var x = 'some string';//value from first field
var y="s2324343353";//value from nic
if(x.charAt(0) == y.charAt(0)){
  alert("first character is same");
  }// alerts 's'

Upvotes: 0

Related Questions