为什么我的正则表达式不能在IE7中运行?

时间:2013-04-10 12:08:21

标签: jquery regex

我有以下代码来检查文本框中的特殊字符。

var partial = /[*!@#$%^&*~]/;
var check = function (string) {
    for (i = 0; i < string.length; i++) {
        if (partial.test(string[i])) {
            return true
        }
    }
    return false;
}

// onclick我打电话给下面的

$('input[type="text"]').each(function () {
    if (check($(this).val()) == true || $(this).val().length <= 2) {
        //displayerrormessage
        noerror += 1;
    }
});

它适用于所有浏览器,但不适用于IE7 我不确定我需要改变什么。

任何人都知道为什么会这样?

1 个答案:

答案 0 :(得分:1)

Internet Explorer 7不支持按索引访问字符串。

您必须使用charAt方法与IE7兼容:

partial.test(string.charAt(i))