将JavaScript最小长度验证添加到文本字段?

时间:2014-04-03 11:45:35

标签: javascript

我正在使用JavaScript代码在用户输入字母a-z时验证文本字段。 如果这是有效的,脚本会显示勾号,如果不是,则显示交叉。现在我试图添加代码来检查字母是否满足至少4个字符的最小长度,如果满足最小字符,则显示勾号,如果文本在最小字符长度下显示十字。

如何调整脚本以检查输入字符的最小长度?也有人可以告诉我如何允许' - '在我的验证中被允许?

脚本:

<script>
function validateCname(CnameField){
        var reg = /^[A-Za-z]+$/; 

        if (reg.test(CnameField.value) == false) 
        {
            document.getElementById("emailTick").style.display='none'; // Hide tick if validation Fails
            document.getElementById("emailCross").style.display='block';
            return false;
        }
        if (reg.test(CnameField.value) == true)
        document.getElementById("emailCross").style.display='none';
        document.getElementById("emailTick").style.display='block';
        return true;
}
</script>

尝试:

<script>
function validateCname(CnameField){
        var reg = /^[A-Za-z]+$/; 
        var len = {min:4,max:60};


        if (reg.test(CnameField.value) == false) 
        if(input.value.length>!=len.min) return flase;
        {
            document.getElementById("emailTick").style.display='none'; // Hide tick if validation Fails
            document.getElementById("emailCross").style.display='block';
            return false;
        }
        if (reg.test(CnameField.value) == true)
        document.getElementById("emailCross").style.display='none';
        document.getElementById("emailTick").style.display='block';
        return true;
}
</script>

4 个答案:

答案 0 :(得分:2)

几乎没有,但是你有一些语法问题,所以我为你创建了一个示例测试脚本:

function validateValue(value) {
  var reg = /^[A-Za-z]+$/g; 
  var len = {min:4,max:60};

  if (!reg.test(value)) {
    console.log('didn\'t match regex');
    return false;
  }

  if (value.length < len.min || value.length > len.max) {
    console.log('incorrect length: ' + value);
    return false;
  }

  console.log('correct length: ' + value);
  return true;
}

validateValue('teststring');

注意我是如何设置正则表达式测试的,删除== false?它不需要,因为返回false或数组。如果返回null或false以外的任何内容,则true测试将返回true。

答案 1 :(得分:1)

试试这个

<script>
function validateCname(CnameField){
        var reg = /^[A-Za-z]+$/; 
        var len = {min:4,max:60};


        if (reg.test(CnameField.value) == false) {
            if(input.value.length<len.min) 
            {
                document.getElementById("emailTick").style.display='none'; // Hide tick if validation Fails
                document.getElementById("emailCross").style.display='block';
                return false;
            }
            return false;
        }
        if (reg.test(CnameField.value) == true)
        document.getElementById("emailCross").style.display='none';
        document.getElementById("emailTick").style.display='block';
        return true;
}
</script>

答案 2 :(得分:0)

]

答案 3 :(得分:-1)

function validateCname(value1)
{
var k = value1;
if(k.length<4){

//Your code if length is less than 4 

}else{

//Your code if length is more than 4 

}
}