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

时间:2015-02-25 10:25:38

标签: javascript regex

这是我的代码,它不能以我的形式工作。

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

在此代码中它正常工作,但当我在一个表单中使用所有代码时,它无法正常工作。

请帮帮我。谢谢。

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

只需将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>

答案 2 :(得分: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;
    });
  }
}
  })