2016-07-22 37 views
1
<input type="text" required> 

$('input').blur(function() { 
    console.log($('input')[0].checkValidity()); 
}); 

當我輸入一個空格時,控制檯給出一個true。這是很迷惑......爲什麼輸入checkValidity的空間是真的?

+0

因爲空間與ASCII碼字符30,那麼絕對會返回true(「」!= NULL) – bfahmi

+0

您可以檢查[必需的屬性(https://www.w3.org/TR /html5/forms.html#the-required-attribute)部分。 –

+0

@bfahmi,這是我想要的,謝謝! – maicss

回答

1

Attibute required只檢查如果輸入中有任何字符(也是空格)。

如果你想檢查空白,你可以使用pattern

<input type="text" pattern="\S+" required> 
1

可以使用HTML5模式

我給你舉個例子,但你可以把你想要什麼

$('input').blur(function() { 
 
    console.log($('input')[0].checkValidity()); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<!-- this pattern don't allow to put a space in th input--> 
 
<input type="text" pattern="^((?!\s).)*$" required>

+0

@ user5809498;請標記它,正確的答案 – bfahmi

+0

我知道如何解決它,我想知道的是爲什麼。 – maicss

+0

感謝您的回答。 – maicss