我似乎无法找到答案。
我让用户填写表单以输入他们的票证名称。这是通过整个名称的一个字段完成的。现在重要的是我检查第二名和第一名。
一切都很完美。但是对于我的生活,我似乎无法找出一个新的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');
}
}
});
答案 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
}