jquery测试函数运行不正常

时间:2013-08-30 07:55:02

标签: javascript jquery

我使用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中检查非法字符是正确的语法吗?谢谢你的帮助。

1 个答案:

答案 0 :(得分:4)

illegal_chars应该是一个RegExp,而不是一个字符串。尝试:

    var illegal_chars = /[\^#%$*:<>?{|}@!]/;