2016-11-18 400 views
2

我正在尋找正則表達式只允許(alphabet,space & -)。正則表達式只允許字母,空格和 - 只有

以下嘗試,但在該案的一個

1失敗)不允許空間 - :^[a-zA-Z]+$ 2)不允許單個字符:^\S+[a-zA-Z -]+$

+0

另外一個人也試過^ [a-zA-Z-''] + $,但最初接受的空間也是這樣,我不想要。 –

+1

[空格字母的正則表達式]的可能重複(http://stackoverflow.com/questions/9289451/regular-expression-for-alphabets-with-spaces) –

+0

試試這個'var regex =/^ [a-zA -Z - ] + $ /;' –

回答

0

使用此。

var regex = new RegExp("^[a-zA-Z -]*$"); 
+0

最初接受空間。我不想要 –

+0

var regex = new RegExp(「^ [a-zA-Z - ] * $」);試試這個 –

1

試試這個正則表達式:

^[a-zA-Z\s-]+$ 
+0

最初接受的空間。我不想 –

0

試試下面的代碼只alphabets-被允許。空間也是第一次不允許的。這裏是Demo 如果你想alphabets-space使用這個。 var regex = new RegExp("^[a-zA-Z \b-]+$");

$('.onlyalphabets').on('keypress', function (e) { 
    if ($(this).val() == "") { 
     if (event.which === 32) 
     { return false; } 
     else { 
      var regex = new RegExp("^[a-zA-Z\b-]+$"); 
      var key = String.fromCharCode(!event.charCode ? event.which : event.charCode); 
      if (!regex.test(key)) { 
       event.preventDefault(); 
       return false; 
      } 
     } 
    } 
    else { 
     var regex = new RegExp("^[a-zA-Z\b-]+$"); 
     var key = String.fromCharCode(!event.charCode ? event.which : event.charCode); 
     if (!regex.test(key)) { 
      event.preventDefault(); 
      return false; 
     } 
    } 
    return true; 
}); 
+0

最初接受空間。這是我不想要的。 –

+0

嘗試新的RegExp(「^ [a-zA-Z \ b - ] + $」) –

+0

@PUSHPENDRA SINGH現在檢查 –

0

如果你只是不想讓在開始的空間,並允許它和其他字符您允許後,並能夠匹配1字符的字符串,使用

^[a-zA-Z-][a-zA-Z -]*$ 

參見regex demo

^匹配串的開始位置,只[a-zA-Z-]匹配字母或-作爲第一炭和[a-zA-Z -]*匹配0+從允許的字符設置爲$結束字符串。

如果要允許單詞用空格/連字符分隔,請使用^[A-Za-z]+(?:[ -][A-Za-z]+)*$

相關問題