1

我正在研究 html 输入标签的验证功能。我有特定输入值的字符串和包含允许字符的字符串。

var allowed = 'abcdefghijklmnopqrstuvwxyz";
var value = element.value;

我想编写一个函数来确定是否value仅包含allowed字符串中的字符。我正在寻找一个简单明了的解决方案。有任何想法吗?

4

3 回答 3

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;  
    }  
} 
于 2013-06-27T09:11:45.527 回答
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');
}

演示链接

于 2013-06-27T09:24:47.113 回答
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;
}
于 2016-12-30T16:48:12.073 回答