与一些javascript,密码/用户名错误显示

Struggling with some javascript, password / username error display

本文关键字:用户 错误 显示 密码 javascript      更新时间:2023-09-26

注意,我将在表单提交时用PHP验证所有内容,但如果可能的话,我希望立即将其显示给用户。

对于用户名,我试图检测它是否只包含空白,如果它少于8个字符/数字,如果它只包含正常的有效字母和没有符号。

这似乎不工作:

$("#username").change(function() {
  $("#username").removeClass("error");
  var letterNumber = /^[0-9a-zA-Z]+$/;
  var username = $("#username").val(); // get value of password
  if (!(username.value.match(letterNumber)) {
    // return error
  }
  if (username.length < 8) {
    // return error
  }
  if (username.trim().length() > 0) {
    // return error
  }
});

对于密码,我希望允许所有符号,所有数字,所有字母,最小8,并修剪空白。

修改如下:

if (!(username.value.match(letterNumber)) {
    // return error
}

:

if (!(username.match(letterNumber)) {
    // return error
}

当您之前使用.val()时,您已经检索了.value,因此username已经是所需的字符串。


同样,.trim()测试是不正确的,因为.length本身是一个属性,而不是一个方法)。但是,你可以删除这个,因为你之前的regex测试已经消除了空字符串和只有空格的字符串,所以这个测试(即使纠正为正确的javascript)是不必要的。

if (username.trim().length() > 0) {
    // return error
}

在未来,你应该看看你的浏览器错误控制台或调试控制台,因为它会告诉你一些东西,如未定义没有一个方法.match(),并给你准确的行号作为错误的来源。