检查文本框是否包含无效字符

Aar*_*ron 5 javascript regex

我在尝试使用JavaScript检查文本框是否仅包含az 0-9值时遇到问题.

我的页面上有一个文本框:

<input type="text" id="first_name" class="first_name" value="">
Run Code Online (Sandbox Code Playgroud)

我使用以下JavaScript函数来检查我的文本框:

// Function to check letters and numbers
function alphanumeric(inputtxt)
{ 
//alert(inputtxt);
var letters = "/^[0-9a-zA-Z]+$/";
if(inputtxt.value.match(letters))
{
alert('accepted');
}
else
{
alert('Please input alphanumeric characters only');
return false;
}
}
Run Code Online (Sandbox Code Playgroud)

而我正在调用我的函数:

var test = alphanumeric(document.getElementById("first_name").value);
Run Code Online (Sandbox Code Playgroud)

然而,什么也没发生.

如果我在我的字母数字函数中提醒'inputtxt'它会返回我在文本框中的值,所以我知道有一个值要检查,但它似乎从那里继续.

有谁知道我哪里出错了?

我试图用JavaScript(没有jQuery)来做这件事.

Den*_*ret 14

一些问题:

  • 正则表达式文字的错误形式(不要为它们使用引号)
  • 使用match而不是测试(不是错误但不是最有效的)
  • 你使用,inputtxt.valueinputtxt仍然是价值
  • 你永远不会回归真实

你可以用这个:

function alphanumeric(inputtxt) { 
  var letters = /^[0-9a-zA-Z]+$/;
  if (letters.test(inputtxt)) {
    alert('accepted');
    return true;
  } else {
    alert('Please input alphanumeric characters only');
    return false;
  }
}
Run Code Online (Sandbox Code Playgroud)


Chr*_*ris 5

您正在使用.value两次:

document.getElementById("first_name").value
Run Code Online (Sandbox Code Playgroud)

if(inputtxt.value.match(letters))

删除其中之一。