如果字符串包含两个单词,则为JQUERY

时间:2014-11-28 13:03:20

标签: javascript jquery

我似乎无法找到答案。

我让用户填写表单以输入他们的票证名称。这是通过整个名称的一个字段完成的。现在重要的是我检查第二名和第一名。

一切都很完美。但是对于我的生活,我似乎无法找出一个新的Elseif语句来检查var包含两个单词。

任何提示?

$(document).ready(function(){
    $('#user_details_form_button').live('click', function(){
        var check_name_b = '';
        var check_email_b = '';
        var check_phone_b = '';
        proceed = true;
        window.location.hash = 'tickethash';
        $('.userinput_name_b').each(function(){

            check_name_b = $(this).val();
            if(check_name_b == ''){ 
                $(this).css('border-color','#FF0000'); 
                $(this).attr("placeholder", "*Full Name Required");
                proceed = false;
            }else{
                if(check_name_b.replace(/ /g,'').length < 5){
                    $(this).css('border-color','#FF0000');
                    $(this).attr("placeholder", "*Full Name Required");
                    $(this).val("");
                    proceed = false;
                }else if(check_name_b.length > 40){
                    $(this).css('border-color','#FF0000');
                    $(this).attr("placeholder", "*Full Name Required");
                    $(this).val("");
                    proceed = false;
                }else{
                    $(this).css('border-color','#CCCCCC'); 
                }  
            }

        });

4 个答案:

答案 0 :(得分:1)

您可以使用split()为您执行此操作...

var check_name_b = $(this).val().trim().split(" ");
if (check_name_b.length < 2) {
    // no space in name, therefore it's only one word (or none!)
}

但是,我强烈建议使用2个字段作为名字和姓氏。这不仅是人们所期望的,习惯于在几乎所有其他网站上看到它,它更强大,更容易处理输入。如果我把&#34; Archer先生&#34;?那不是我的全名,而是它的2个字。

答案 1 :(得分:1)

您可以使用此正则表达式:

if (!check_name_b.match(/^[a-z\.]+ [a-z]+/i)) {
    alert('Invalid name');
}

不要像其他人说的那样使用split,因为如果我只输入一些空格,那么这也会成功。

答案 2 :(得分:0)

检查:

$(this).val().split(" ").size() > 1

答案 3 :(得分:0)

  

一切都很完美。但是对于我的生活,我似乎无法找出一个新的Elseif语句来检查var是否包含两个单词。

两个字的意思是,它们之间有一个空格。

尝试jQuery中的.split()函数。

像:

words = input.split(' ');
if(words.length >= 2) {
  //do something
}