2

我正在使用 jquery 进行名称验证,但是当我使用测试功能时它不会运行。这是代码

<script type="text/javascript">
    $(document).ready(function () {
        $('#msg').hide();

        $('input[name = "frequency_add_button"]').click(function () {
            var error = validate_add_form();
            if (error !== '') {
                $('#msg').show();
                $("p:first").html(error);
                return false;
            }
        });

        function validate_add_form() {
            var strname = $('#frequency_name_add').val();
            var illegal_chars = "/^.*?(?=[\^#%$\*:<>\?\{\|\}\@\!]).*$/";

            if ($.trim(strname) === '') {
                return 'Please enter frequency name';
            }
            if ($.trim(strname).length < 4 || $.trim(strname).length > 10) {
                return 'Frequency name length must be between 4 and 10 characters';
            }
            /*if(illegal_chars.test(strname))
            {
                return 'Special characters are not allowed in frequency name';
            }*/
            return '';
        }
    });
</script>

对于检查空白和长度,这很好,但是当我取消注释注释部分时,根本没有运行。在 jquery 中检查非法字符是正确的语法吗?感谢帮助。

4

1 回答 1

4

illegal_chars应该是正则表达式,而不是字符串。尝试:

    var illegal_chars = /[\^#%$*:<>?{|}@!]/;
于 2013-08-30T07:58:04.347 回答