[英]JQUERY if string contains two words
我似乎找不到那里的答案。
我有用戶填寫表格以輸入他們的票名。 這是通過一個字段輸入全名來完成的。 現在,請務必同時檢查名字和名字。
一切工作正常。 但是對於我一生來說,我似乎無法制定出新的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個字段作為名字和姓氏。 人們不僅期望看到這一點,而且習慣在幾乎所有其他網站上看到它,它也更強大並且更易於處理輸入。 如果我放“阿徹先生”會怎樣? 那不是我的全名,而是2個字。
檢查一下:
$(this).val().split(" ").size() > 1
一切工作正常。 但是對於我一生來說,我似乎無法制定出新的Elseif語句來檢查var是否包含兩個單詞。
兩個詞的意思是,它們之間有一個空格。
嘗試使用jQuery的.split()
函數。
喜歡:
words = input.split(' ');
if(words.length >= 2) {
//do something
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.