2016-11-18 227 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]+)*$

相关问题