正则表达式 - 没有特殊字符[关闭]

问题描述 投票:0回答:2

我正在使用正则表达式来验证用户名

^[a-zA-Z]+\.[a-zA-Z]{4,10}^'

不幸的是,它不会影响该值是否包含特殊字符,例如

!@#$%^&*)(':;

我很高兴获得有关正则表达式的一些帮助,其中包含:

  • 仅限字母数字 (
    a-zA-Z0-9
    )
  • 长度在 4 - 10 个字符之间。
regex special-characters alphanumeric
2个回答
53
投票

您指定的条件与您发布的正则表达式不符。

您发布的正则表达式

^[a-zA-Z]+\.[a-zA-Z]{4,10}^
是错误的,因为最后的
^
,如果您想与表达式末尾的^匹配,
它将永远不会与任何表达式匹配
,你需要像这样逃避它
\^
。但
^
单独表示“这里是表达式的开始”,而
$
表示“这里是表达式的结束”。

尽管如此,它表示:

  • 它以 alpha 开头(至少 1)。
  • 必须有一个“.”时期字符。
  • 现在必须至少有 4 个 alpha。

您需要的正则表达式确实是:

^[a-zA-Z0-9]{4,10}$

这说:

  • 以字母数字开头。
  • 最少 4 个、最多 10 个字母数字。
  • 表达结束。

8
投票

试试这个:

^[a-zA-Z0-9]{4,10}$

© www.soinside.com 2019 - 2024. All rights reserved.