0

我有一个用户注册页面,其中必填字段使用 java 脚本进行验证。它在所有浏览器和 IE-8,9 中都可以正常工作,但在 IE-7 中不起作用。

验证密码匹配时出现问题。以下是密码匹配的要求

  1. 密码至少包含一个数字
  2. 字母不重复
  3. 它包含特殊字符。
  4. 密码必须至少包含 6 个字母。

下面是我验证密码匹配的代码

function PasswordLenghtVal(pass)  // validating pass word length  
{
    if(/\d/.test(pass) && pass.length >= 6)
    {
        return true;
    }
    return false;
}

function FirstNonRepeatedChar(str)   //validating letters repeating or not  
{
    var i,j,repeated = 0;
    var len = str.length;

    for( i = 0; i < len-1; i++ )
    {
        repeated = 0;
        if(str[i] == str[i+1] ) // checking for existing or not 
        {

        repeated = 1;
        break;
        }
    }
        if( repeated == 0 )  
            return true;       
        else
        return false;
}

这是我用于密码匹配的代码。IE-7 中唯一的问题

4

2 回答 2

0

好的。首先,您要在 IE8 和 IE7 中测试每个单独的组件。然后,让它在它的 IE7 中使用可以工作的东西(显然问题是str[],但由于我不经常使用 JavaScript,所以我不能告诉自己。)只要有一个语句,如果它是重定向到一个工作代码段IE7或以下,否则它会去你所拥有的。

我的想法(不是真正的代码,只是为了说明我的意思——正如我所说,我不太起诉 JS):

if(browser = "IE7") {
    //Code that works in IE7
} else {
    //Code that works in everything else
}
于 2012-11-30T17:58:27.000 回答
0

IE7中不提供[]getter 语法。string

if(str[i] == str[i + 1]) // checking for existing or not 

改变它

if (str.charAt(i) == str.charAt(i+1))

你可以用正则表达式检查它:

function FirstNonRepeatedChar(str) {
  return !/(.)\1/.test(str);
}
于 2012-11-30T17:52:31.907 回答