2017-10-09 39 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