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

JQUERY if string contains two words

本文关键字:单词 包含两 字符串 如果 JQUERY      更新时间:2023-09-26

我似乎找不到这个问题的答案。

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

一切都很完美。但是对于我的生活,我似乎无法制定一个新的 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'); 
                }  
            }
        });
您可以使用

以下正则表达式:

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

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

您可以使用

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个字段作为名字和姓氏。 这不仅是人们所期望的,习惯于在几乎所有其他网站上看到它,它更强大,更容易处理输入。 如果我输入"弓箭手先生"会怎样? 这不是我的全名,但这是两个字。

检查一下:

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

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

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

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

喜欢:

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