RegExp与.html扩展名完美配合,但扩展名不是.php

时间:2017-01-21 22:50:29

标签: javascript php html

我用JavaScript编写了一个脚本,当我尝试在扩展名为.html的页面上运行它时,它运行得很好。但是当我尝试在.php的页面上运行它时,我收到以下错误:

Uncaught TypeError: Cannot read property 'match' of undefined
at HTMLButtonElement.CheckStrength

这是我的代码:

var x = document.getElementById("password");
var button = document.getElementById("submit");
var check = /[0-9]+$/;

function CheckStrength(){
    if(x.value.length > 7 && x.value.match(check) != null)
        {
            alert("Your password is strong.");
        }
    else if (x.value.length > 3 && x.value.length <= 7)
        {
            alert("Your password strength is medium.");
        }
    else
        {
            alert("Your passwword s**k.");
        }
}

1 个答案:

答案 0 :(得分:1)

您的代码在.php扩展名中完美运行,只有当目标元素不存在或者在元素之前插入时,我才能重现该错误。检查这些;

  • 检查是否有拼写错误
  • 将您的脚本标记放在body元素的结束标记之前(以确保脚本执行时目标元素可用)
  • 将您的javascript变量定义包装在a window.onload function