【问题标题】:How to validate multiple regex conditions for same field in Bootstrap Validator如何在 Bootstrap Validator 中验证同一字段的多个正则表达式条件
【发布时间】:2016-04-06 17:22:46
【问题描述】:

我想知道如何验证同一字段的多个条件 在引导验证器中?

我明白,如果它是在 plain 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>

【问题讨论】:

  • 您只需要集成一些自定义验证。这个问题/答案应该提供您需要的一切:stackoverflow.com/questions/26880613/…。我希望你在后端重新验证这个?
  • 在访问链接时,设法得到了我一直在寻找的答案。谢谢马克。

标签: jquery twitter-bootstrap validation


【解决方案1】:

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

在该部分:

回调:函数(值,密码, $field)

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

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

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

                    callback:{
                        message: 'The password is not valid',
                        callback: function(value, password, $field){
                            if(value===''){
                                return true;
                             }

                            // Check the password strength
                            if (value.length < 6) {
                                return {
                                    valid: false,
                                    message: 'It must be more than 6 characters long'
                                };
                            }

                            // The password doesn't contain any uppercase character
                            if (value === value.toLowerCase()) {
                                return {
                                    valid: false,
                                    message: 'It must contain at least one upper case character'
                                }
                            }

                            // The password doesn't contain any uppercase character
                            if (value === value.toUpperCase()) {
                                return {
                                    valid: false,
                                    message: 'It must contain at least one lower case character'
                                }
                            }

                            // The password doesn't contain any digit
                            if (value.search(/[0-9]/) < 0) {
                                return {
                                    valid: false,
                                    message: 'It must contain at least one digit'
                                }
                            }

                            if(value.search(/[_~\-!@#\$%\^&\*\(\)]+$/) < 0) {
                                return {
                                    valid: false,
                                    message: 'It must contain atleast one special character'
                                }
                            }
                            return true;
                        }               

                    }

                }          
            },

【讨论】:

  • 嘿,我发现这段代码非常有用。我在哪里插入这段代码?
猜你喜欢
  • 1970-01-01
  • 2014-09-15
  • 1970-01-01
  • 2019-08-17
  • 2020-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多