关于文件夹名称的正则表达式

时间:2010-11-12 02:26:16

标签: regex

我想要一个正则表达式来测试字符串是否符合以下规则:

  1. 不得以.开头。
  2. 不得以.结尾。
  3. 不得包含!@#$%^&*等特殊字符,但可以包含.
  4. 不得并排包含两个点.
  5. 示例有效输入:

    • na.me(中间的单点)

    示例无效输入:

    • .name(以点开头)
    • name.(以点结尾)
    • na..me(包括两个点并排)
    • $name(任何位置都不允许使用特殊字符)
    • name#(同样)
    • na#me(同样)

1 个答案:

答案 0 :(得分:4)

我相信这应该有效:

^(\w+\.?)*\w+$  

如果不在ECMAScript中,则将\w替换为[a-zA-Z_0-9]

这里的方法是,不要引用什么是不可接受的,而是更容易引用可接受的内容。
表达式的翻译是:

  • 以一个或多个字母开头,后跟零个或一个句点(。)
    • 所有这些都可以发生零次或多次
  • 以至少一个字母结尾