Dipika Awasthi
Dipika Awasthi

Reputation: 11

how to validate pin code, mobile number and email in javascript

here is my code and it's not working in my form.

<script type="text/javascript">
    function valid(){
        var pin_code=document.getElementById("pin");
        var user_mobile=document.getElementById("phone");
        var user_id=document.getElementById("email");
        var pat1=/^([0-9](6,6)+$/;
        var pattern=/^([0-9](10,10))+$/;
        var filter=/^([a-z A-Z 0-9 _\.\-])+\@(([a-z A-Z 0-9\-])+\.)+([a-z A-z 0-9]{3,3})+$/;

        if (!filter.test(user_id.vlaue)) {
            alert("Email is in www.gmail.com format");
            user_id.focus();
            return false;
        }
        if (!pattern.test(user_mobile.value)) {
            alert("Phone nubmer is in 0123456789 format ");
            user_mobile.focus();
            return false;
        }
        if (!pat1.test(pin_code.value))  {
            alert("Pin code should be 6 digits ");
            pin_code.focus();
            return false;
        }
    }
</script>

Here is the issue, when i submit the form whether i enter digits or characters in the mobile number or pin code it's accepting that value also. and when i am using these codes in partitions means like for email

<script type="text/javascript"> 
    function valid() { 
        var user_id=document.getElementById("email"); 
        var filter=/^([a-z A-Z 0-9 _\.\-])+\@(([a-z A-Z 0-9\-])+\.)+([a-z A-z 0-9 {3,3})+$/; 
        if(!filter.test(user_id.vlaue))  { 
            alert("Email is in www.gmail.com format"); 
            user_id.focus(); 
            return false; 
        } 
    } 
</script>

in this code it's working properly but it's not working when i am using all the codes in one single form.

Please help me. Thank You.

Upvotes: 0

Views: 45125

Answers (3)

shipra shrivastav
shipra shrivastav

Reputation: 1

app.directive('validateAddress', function() {

return {
  require: 'ngModel',
  restrict: 'A',
  link: function(scope, element, attrs, modelCtrl) {
    modelCtrl.$parsers.push(function(inputValue) {
      if (inputValue == null)
        return ''
      //cleanInputValue = inputValue.replace(/[^\w]/gi, '');
      //cleanInputValue = inputValue.replace(/[^a-zA-Z0-9-\,\s\_\.\@\#]/g, "");
      cleanInputValue = inputValue.replace(/[^a-zA-Z0-9-\,\s\_\.\@\#\!\$\%\*\(\)\-\+\;\:\>\<\?\|\}\{\=]/g, "");
      if (cleanInputValue != inputValue) {
        modelCtrl.$setViewValue(cleanInputValue);
        modelCtrl.$render();
      }
      return cleanInputValue;
    });
  }
}
  })

Upvotes: 0

varad mayee
varad mayee

Reputation: 619

change the pattern for the regular expression as below:

   var pat1=/^[0-9]{1,6}$/;
   var pattern=/^[0-9]{1,10}$/;

Upvotes: 1

Amogh
Amogh

Reputation: 4573

Just change pat1 and pattern to this:

var pat1=/^\d{6}$/;
var pattern=/^\d{10}$/;

Full working java-script as follows:

<script type="text/javascript">
function valid()
{
var pin_code=document.getElementById("pin");
var user_mobile=document.getElementById("phone");
var user_id=document.getElementById("email");
var pat1=/^\d{6}$/;
var pattern=/^\d{10}$/;
var filter=/^([a-z A-Z 0-9 _\.\-])+\@(([a-z A-Z 0-9\-])+\.)+([a-z A-z 0-9]{3,3})+$/;
if(!filter.test(user_id.value))
{
alert("Email is in www.gmail.com format");
user_id.focus();
return false;
}
if(!pattern.test(user_mobile.value))
{
alert("Phone nubmer is in 0123456789 format ");
user_mobile.focus();
return false;
}
if(!pat1.test(pin_code.value))
{
alert("Pin code should be 6 digits ");
pin_code.focus();
return false;
}
}
</script>

Upvotes: 1

Related Questions