2017-10-09 61 views
1

如何僅通過字母(帶空格)使用Javascript驗證輸入?javascript input only letter

var name = document.getElementById('name').value; 
 
    \t if(name == "") 
 
    \t { 
 
    \t \t alert("name is empty!"); 
 
      return false; 
 
    \t } 
 
     /*else if (...) 
 
      { 
 
      ... 
 
      }*/

預先感謝您:)

+0

使用[正則表達式]( https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/RegExp) –

+0

請使用搜索引擎來查找教程。一旦遇到任何特定問題,請回來,我們(可能)會幫助你。 –

回答

1

使用正則表達式

var name = prompt('Your name'); 
 
if (!(/^[a-zA-Z]+$/.test(name.replace(/\s/g, '')))) { 
 
    alert("only letters!"); 
 
}

+0

感謝您的回答 –

+0

@Wira看到更新的答案,它是否解決您的問題 –

+0

它也幫助,在先進感謝。 –

-1

使用正則表達式/[^a-z]/i,以檢查是否有非字母字符:

var name = prompt('Enter name'); 
 

 
if(name === false || name == "") { 
 
    alert("name is empty!"); 
 
} else if (/[^a-z]/i.test(name)){ 
 
    alert("name is not valid!"); 
 
} else { 
 
    alert("name is valid!"); 
 
}

+0

感謝您的回答 –

+0

如果我的名字是「Le Blond」,它顯示「名稱無效!」 – R3tep

+0

@ R3tep是的,因爲OP只允許字母:**只能通過字母** – Justinas

1

您可以使用正則表達式。看下面的例子:

function validate(){ 
    var name = document.getElementById('name').value; 
    if(name.match(/^[a-zA-Z_ ]*$/)) 
     { 
      //Your logice will be here. 
      alert("It's valid"); 
     } 
     else{ 
      alert("Please enter only alphabets"); 
     } 
    } 

我更新代碼以包括空間也

https://jsfiddle.net/emilvr/j1805c63/1/

+0

感謝您的回答 –

+0

如果我的名字是「Le Blond」,它顯示「請只輸入字母」 – R3tep

+0

我的不好,我的意思是它也可以包含空間 –

0

,這是通過上面的所有那些接聽鍵使用正則表達式

94檢查 - >一

122→z

$(document).ready(function(){ 
 
    $("input[type='text']").keypress(function(event){ 
 
     var inputValue = event.which; 
 
     if(!(inputValue >= 65 && inputValue <= 120) && (inputValue != 32 && inputValue != 0)) { 
 
      event.preventDefault(); 
 
     } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type='text'>

您也可以從這裏看到這些數字他們是什麼,爲什麼這傢伙用Link in here

+0

感謝您的回答 –

+0

您的解決方案,防止用戶刪除文本或使用鍵盤在輸入字段中導航...也不可能寫大寫字母。 – Justinas

+0

無法用空格輸入一個名稱,如「樂金髮」 – R3tep