如何在Bootstrap Validator中验证同一字段的多个正则表达式条件

时间:2016-04-06 17:22:46

标签: jquery twitter-bootstrap validation

  

我想知道如何验证同一字段的多个条件   在Bootstrap Validator?

我理解,如果已经在普通Javascript 中,可以使用 if-else条件

我正在查看的是验证以下4种情况下的密码字段:

1) regex : /(?=.{8,}).*/; 

错误消息:密码应至少为8个字符

2) regex: /^(?=\S*?[a-z])(?=\S*?[0-9])\S{8,}$/;

错误消息:它应为字母数字+最少8个字符。

3) regex:  /^(?=\S*?[A-Z])(?=\S*?[a-z])((?=\S*?[0-9])|(?=\S*?[^\w\*]))\S{8,}$/;

错误消息:必须至少包含一个大写字母,一个小写字母和(一个数字或一个特殊字符)。

4) regex: /^(?=\S*?[A-Z])(?=\S*?[a-z])(?=\S*?[0-9])(?=\S*?[^\w\*])\S{8,}$/;

错误消息:必须包含至少一个大写字母,一个小写字母和(一个数字和一个特殊字符)。

<div class="row">
        <div class="col-xs-8 form-group">
            <input type="password" name="password" id="password" value="" class="form-control input-small" placeholder="Password"  />
                <span class="help-block" id="passwordMessage"></span>                       
        </div>
</div>


<script type="text/javascript">
$(document).ready(function() { 

    $('#loginForm').bootstrapValidator({         

        fields: {       
             password: {
                trigger: 'blur',
                container: '#passwordMessage',              

                validators: {
                    notEmpty: {
                        message: 'You cant leave this empty'
                    },


                }
            },

    }); 

  });
</script>

1 个答案:

答案 0 :(得分:0)

这正是我所期待的。它涵盖了之前提出的所有条件。

在以下部分:

  

回调:功能(值,密码, $ field)

突出显示的字实际上是您要验证的 'id' 属性的值。

function applyValue(value, phoneNum)
{
var currField = $('#number')
var valueOfInput = currField.val();
  if (value == "backspace") {
    if (isNaN(valueOfInput.charAt(valueOfInput.length - 1))) {
      valueOfInput = valueOfInput.substring(0, valueOfInput.length - 2);
    }
    else {
      valueOfInput = valueOfInput.substring(0, valueOfInput.length - 1);
    }
  } else if (value == "clear") {
    valueOfInput = "";
  } else {
    if (phoneNum == "true") {
        var length = valueOfInput.length;
      if (length < 13) {
        switch (length) {
          case 0: 
            valueOfInput = "(" + value;
            break;
          case 3:
            valueOfInput += value + ")" ;
            break;
          case 7:
            valueOfInput += value + "-" ;
            break;
          default:
            valueOfInput += value;
            break;
        }     
      } 
    }
    else {
        valueOfInput += value;
    }
  }
  currField.val(valueOfInput);
}