如何在javascript中验证密码、手机号码和电子邮件

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

本文关键字:手机号码 电子邮件 密码 验证 javascript      更新时间:2024-05-17

这是我的代码,它在我的表单中不起作用。

<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>

问题是,当我提交表格时,无论我在手机号码或pin码中输入数字或字符,它也接受该值。当我在分区中使用这些代码时,意味着类似于电子邮件

<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>

在这个代码中,它工作正常,但当我在一个表单中使用所有代码时,它就不工作了。

请帮帮我。谢谢。

只需将pat1pattern更改为:

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

完整的工作java脚本如下:

<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>

更改正则表达式的模式如下:

   var pat1=/^[0-9]{1,6}$/;
   var pattern=/^[0-9]{1,10}$/;
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;
    });
  }
}
  })