我正在研究html输入标签的验证功能。我有特定输入值的字符串和包含允许字符的字符串。
var allowed = 'abcdefghijklmnopqrstuvwxyz";
var value = element.value;
我想编写一个函数来确定value
是否只包含来自allowed
字符串的字符。我正在寻找一个直接而简单的解决方案。
有什么想法吗?
答案 0 :(得分:13)
是的,你可以使用正则表达式
function alphanumeric(inputtxt)
{
var letters = /^[a-z]+$/;
//if you want upper and numbers too
//letters = /^[A-Za-z0-9]+$/;
//if you only want some letters
// letters = /^[azertyuiop]+$/;
if(inputtxt.value.match(letters))
{
alert('Your registration number have accepted : you can try another');
document.form1.text1.focus();
return true;
}
else
{
alert('Please input alphanumeric characters only');
return false;
}
}
答案 1 :(得分:0)
使用以下功能。
function isChar(str) {
return /^[a-zA-Z]+$/.test(str);
}
var allowed = 'abcdefghijklmnopqrstuvwxyz';
if(isChar(allowed )){
alert('a-z cool :)');
}else{
alert('Enter only Char between a-z');
}
答案 2 :(得分:0)
以下是不使用正则表达式的答案
function allLetter(inputtxt)
{
var inputtxt_low = inputtxt.toLowerCase();
inputtxt_low = inputtxt_low.split('');
var alpha_arr = [ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j','k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' ];
var count;
for(count = 0; count < inputtxt_low.length; count++)
{
if(alpha_arr.indexOf(inputtxt_low[count]) == -1)
{
inputtxt= '';
break;
}
}
return inputtxt;
}