我正在try 为名称验证创建一个regex模式. 应用程序名称必须包含以下内容:
- 可以指定小写字母数字字符
- 名称必须以字母字符开头,可以以字母数字字符结尾
- 允许使用连字符‘-’,但不能将其作为第一个或最后一个字符 e.g abc123, abc, abcd-1232个
这就是我得到的[^\[a-z\]+(\[a-z0-9\-\])*\[a-z0-9\]$][1]
,它不能完美地工作.如果在该字段中输入单个字符,则验证失败.我怎样才能改进这个模式呢?提前谢谢您.
我正在try 为名称验证创建一个regex模式. 应用程序名称必须包含以下内容:
这就是我得到的[^\[a-z\]+(\[a-z0-9\-\])*\[a-z0-9\]$][1]
,它不能完美地工作.如果在该字段中输入单个字符,则验证失败.我怎样才能改进这个模式呢?提前谢谢您.
您可以使用以下模式:
^[a-z](?:[a-z0-9-]*[a-z0-9])?$
解释:
^[a-z]
以小写字母开头(?:
turn off capture group
[a-z0-9-]*
零个或多个字母数字或破折号[a-z0-9]
必须以字母数字结尾,如果长度为>;1)?
将此组设为可选$
输入结束