2017-09-13 73 views
0

我有一個簡單的名/姓形式。提交時,我想檢查是否只有字母已被使用,如果沒有,則顯示錯誤div。如果輸入包含字母之外的任何字母,則顯示div

例如:

if ('#input-32') { 
    /* contains anything other than letters */ 
    $("#error").show(); 
} 
+2

你嘗試過自己嗎? – Granny

+0

請研究jQuery驗證器 – user1428716

+0

也請記住:有些名稱中包含非字母。另外考慮檢查ÄÜÜ或其他特殊字符。 – cloned

回答

0

下應該顯示錯誤元素,如果輸入包含除信件以外的其他任何東西:

if ($('#input-32').val().match(/[^a-zA-Z]/g)) { 
    /* contains anything other than letters */ 
    $("#error").show(); 
} 
+1

謝謝。這工作完美。 –

+0

太好了。請考慮接受這個答案。 – kinggs

+0

只是注意到,這仍然允許空白 - 你將如何適應正則表達式,以防止這種情況? –

1

您可以使用正則表達式 - Read More

const input = document.querySelector('#firstname'); 
 

 
input.addEventListener('input', function(e) { 
 
\t const val = e.target.value; 
 
\t const isLetter = /^[a-zA-Z]+$/.test(val); 
 
\t console.log(isLetter); 
 
     // if(isLetter){ ... } 
 
})
<input type="text" id="firstname">

0

$(document).ready(function(){ 
 
    $("#error").hide(); 
 
    $("#nameField").on("change", function(){ 
 
    var nameSub = $('#nameField').val(); 
 
    if(/^[a-zA-Z]+$/.test(nameSub)){ 
 
     $("#error").hide(); 
 
    } 
 
    else{ 
 
     $("#error").show(); 
 
    } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<input type="text" name="name" id="nameField"/> 
 
<div id="error">error</div>

相關問題