用于验证输入中输入的最小单词的JavaScript脚本

时间:2014-05-20 20:13:23

标签: javascript input contact minimum

我真的不知道该怎么做。所以我需要一个JavaScript脚本来查看联系表单字段(问题名称)并确保它在提交之前有多个单词。

<input type="text" name="question[name]" id="question_name">

我真的经常搜索,找到了一些解决方案,但是没有解决方案。

你能帮助我吗?

2 个答案:

答案 0 :(得分:2)

这里有一个小提琴http://jsfiddle.net/6q8jJ/4/

HTML

<input type="text" name="question[name]" id="question_name">
<button onclick="validate();">send</button>

JS

function validate(){

    var error = 0,
    el = document.getElementById("question_name");

    if(el.value.replace(/\s+/g, '').length <= 1){ //get value, remove all whitespace, get length
        error++;
    }

    /*
    * etc
    * your other validation
    */


   if(error > 0) {
       alert('mhh...');
   }else{
       alert('ok send for real');
   }

}

答案 1 :(得分:1)

<input type="text" name="question[name]" id="question_name" onblur="this.value.split(' ').length < 2 ? alert('you need more words here') : '';" />

jsfiddle


修改以改进它:

HTML code:

<p>
    <input type="text" name="question[name]" id="question_name" onblur="CheckErrors.Name(this);" />
    <span class="error"></span>
</p>

JS代码:

var CheckErrors = {

    Config: {
        Error_Strings: {
            Name: 'you need more words here',
            Email: 'the email looks invalid'
            //, ....
        }
    },

    Name: function(element){
        try{
            var error_target = element.nextElementSibling;
            if( element.value.split(' ').length < 2 ){
                error_target.textContent = this.Config.Error_Strings.Name;
            }
            else{
                error_target.textContent = '';
            }
        }
        catch(e){
            console.log(e.stack);
        }
    }

    //, Email: function(element){}....
};