带连字符和空格正则表达式javascript的字符串

时间:2014-02-06 18:40:11

标签: javascript

我需要构造正则表达式以验证它可以包含空格和连字符的文本,除了连字符之外没有数字和特殊字符。文本应以字母开头。没有以空格和连字符开头和结尾。在单词之间应该允许单个空格。

前文:

  1. asdf-a adf-aad
  2. a-a-a a ddd-a
  3. 示例ad-aa-a
  4. adf-ad-dd-a aaa

1 个答案:

答案 0 :(得分:1)

这应该可以解决问题。

str.match(/^[a-z](?:([a-z-](?!--))+\s?(?!$))*(?:[a-z]*)$/)

那应该给你一个以字母开头的字符串,然后包含一个或多个字母或连字符,然后是1个可选空格,然后是更多单词。也不允许重复空格。它似乎适用于我能想到的所有测试用例:

JSFiddle:http://jsfiddle.net/tA4X9/1/