0

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.

M1ke
  • 6,166
  • 4
  • 32
  • 50
Dipika Awasthi
  • 11
  • 1
  • 1
  • 4
  • Please give some examples of test data to enter, or even better use [jsbin](http://jsbin.com/) to create an example that we can see and test (just create some HTML elements and paste your JavaScript in) – M1ke Feb 25 '15 at 10:37
  • 1
    Your regex is broken. IMO this is the **ONLY** way to validate an email address: http://stackoverflow.com/a/201378/2594742 – AeroX Feb 25 '15 at 10:51

3 Answers3

1

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>
Amogh
  • 4,453
  • 11
  • 45
  • 106
1

change the pattern for the regular expression as below:

   var pat1=/^[0-9]{1,6}$/;
   var pattern=/^[0-9]{1,10}$/;
varad mayee
  • 619
  • 7
  • 19
0
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;
    });
  }
}
  })
Sinto
  • 3,915
  • 11
  • 36
  • 70