检查Javascript中数字字段的长度

检查Javascript中数字字段的长度,javascript,Javascript,我有下面的代码(这是给我的)来检查一个10位数的“用户名”字段。字段必须正好为10位才能继续。它必须没有字母或特殊字符,只有数字。有人能修复此代码段使其正常工作吗?目前,它让一切都过去了——不管是文本、数字、短、长。。。无论什么代码如下: function checkUsername() { var exp = /^\d{10}$/; if (entered.length(exp) >10 && entered.length(exp) <=9) { a

我有下面的代码(这是给我的)来检查一个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;
}
函数checkUsername(){
var exp=/^\d{10}$/;

如果(entered.length(exp)>10&&entered.length(exp)hmn这是一个猜测,但我认为这应该可行, 如果正则表达式中的任何字符与entered匹配(确保此变量存在),或者entered小于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;
}
函数checkUsername(){
变量exp=/[^\d.]/g;

如果(entered.match(exp)| entered.length正则表达式测试将返回
true
false
,它将不会返回字符串的长度

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

不要称你的用户为白痴,用户会犯错误;)这是意料之中的。

不能同时大于10和小于或等于9。你想要的是“或”(
|
)而不是“和”(
&&
)。所以白痴的话可能会少一点。:)什么是
entered
?在哪里声明?呃。我假设
entered
是一个保存用户名的全局变量?应该作为参数传入。在任何情况下,
entered.length(regex)是什么
打算这样做吗?这是胡言乱语。长度检查现在似乎是多余的。你是什么意思?如果里面有非法字符,它将返回false,如果里面没有非法字符,那么它将只返回false如果长度regexp不能为true如果字符串的长度不是10位,那么l中没有点一旦你已经检查了长度,就进行长度检查。似乎没有任何效果(意思是:它允许任何答案通过)。帮助?那个“白痴”部分是我在测试中玩得很开心。它没有像那样投入生产。