首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用java脚本的表单验证在IE-7中失败,但从IE-8开始运行良好。

使用java脚本的表单验证在IE-7中失败,但从IE-8开始运行良好。
EN

Stack Overflow用户
提问于 2012-11-30 17:46:22
回答 2查看 229关注 0票数 0

我有一个用户注册页面,在该页面中,使用java script.it验证的强制字段在所有浏览器和IE-8、9中都很好,但在IE-7中却不起作用。

当验证密码match.Below是传递单词匹配的必要条件时,就会出现问题。

  1. 传递单词至少包含一个数字
  2. 字母不重复
  3. 它包含了特殊的字符。
  4. 传递单词必须至少包含6个字母。

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

代码语言:javascript
复制
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中唯一的问题

EN

回答 2

Stack Overflow用户

发布于 2012-11-30 17:52:31

[] string的getter语法在IE7中不可用。

代码语言:javascript
复制
if(str[i] == str[i + 1]) // checking for existing or not 

代码语言:javascript
复制
if (str.charAt(i) == str.charAt(i+1))

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

代码语言:javascript
复制
function FirstNonRepeatedChar(str) {
  return !/(.)\1/.test(str);
}
票数 0
EN

Stack Overflow用户

发布于 2012-11-30 17:58:27

好的。首先,您希望测试IE8和IE7中的每个单独组件。然后,让它这样做,如果它的IE7,它使用的东西,工作(显然的问题是str[],但由于我不太使用JavaScript,我不能告诉自己)。只要有一条语句重定向到工作代码(如果它是IE7或更低的代码),否则它就会转到您所拥有的代码上。

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

代码语言:javascript
复制
if(browser = "IE7") {
    //Code that works in IE7
} else {
    //Code that works in everything else
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13650405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档