2014-09-12 63 views
0

我這裏有一個的jsfiddle - http://jsfiddle.net/1Lo7ag21/6/檢查空間表單驗證

我有一個名字輸入,我想

我試圖通過檢查一個來驗證名稱字段中的第一和第二個名字空間。

如何檢查該字段包含一個空間,如果它不

$('button').click(function(e){ 

     e.preventDefault(); 

     var name = $('#name').val(); 

     if(name.length == 0 && name.indexOf(' ') === -1){ 
      alert('Add first and last name with a space'); 
     } 

    }) 
+1

你的條件解釋爲'如果名稱是空的空間不是found'。看到問題了嗎?您還可以編寫2個驗證規則,其中一個爲空名稱(第一個),另一個爲所需空間(第二個)。 – 2014-09-12 23:08:18

回答

0

你可以做somethong這樣顯示警報:

var name = $('#name').val(); 
name =  name.replace(/^\s+|\s+$/g,"") ; // strip any leading or trailing spaces 
name = name.replace(/\s+/g," "); // remove multiple intermediate spaces 
if (!/(^[A-Za-z]\s[A-Za-z- ']$)/.test(name)) { // first and second names separated by a space, allow for hyphen and apostrophe 
    alert ("You must enter your first name and last name separated by a space"); 
} 
+0

丹尼斯,這看起來應該工作,但它不 - - http://jsfiddle.net/1Lo7ag21/20/ – duckhill 2014-09-13 07:00:16

0

您似乎已經接近明白了,但是你的情況有點偏離。

if(name.length == 0 && name.indexOf(' ') === -1){ 

你檢查名稱長度爲 0(空字符串)不包含空格。你可能打算在這裏使用||(或)。

if(name.length === 0 || name.indexOf(' ') === -1){ 

http://jsfiddle.net/1Lo7ag21/13/

+0

你可以在這裏看到工作verson http://jsfiddle.net/1Lo7ag21/14/ – Danis 2014-09-12 23:12:01

+0

@Danis The您鏈接的版本似乎不起作用。它裏面還有'&&'。如果輸入的文字不包含空格,則不會發出提示。編輯:好吧,現在你只是修改你的鏈接,指向你自己的答案的解決方案。添加到你的答案,不是我的。 – mpen 2014-09-12 23:14:33