0

我有以下代码(给我的)来检查 10 位数字的“用户名”字段。该字段必须正好是 10 位数字才能继续。它不能有任何字母或特殊字符——只有数字。有人可以修复此代码段以使其正常工作吗?目前,它让一切都过去了——无论是文本、数字、短、长……等等。这是代码:

function checkUsername() {
  var exp = /^\d{10}$/;
  if (entered.length(exp) >10 && entered.length(exp) <=9) {
    alert("Username is not in the proper format.  You are an idiot.");
    return false;
  }
  return true;
}
4

2 回答 2

2

正则表达式测试将返回trueor false,它不会返回字符串的长度。

var exp = /^\d{10}$/;
if(exp.test(entered))
{
  // test passed, go through
}

并且不要称您的用户为白痴,用户会犯错误;)这是可以预料的。

于 2013-10-23T20:44:46.440 回答
0

嗯,这是一个猜测,但我认为这应该可行,如果正则表达式中的任何字符与输入匹配(确保此变量存在)或输入更小 euqal 9,你就是个白痴

function checkUsername() {
  var exp = /[^\d.]/g;

  if (entered.match(exp) || entered.length <=9) {
    alert("Username is not in the proper format.  You are an idiot.");
  return false;
}
  return true;
}
于 2013-10-23T20:41:34.347 回答