0

目前我有一个正则表达式来验证字母、数字、连字符和/或点。

^[A-Za-z0-9]+(?:[-\\.]?[A-Za-z0-9])$

这使得这些值有效:

"john.doe"
"john123"
"johndoe"
"john-doe"
"john-doe.123"

我还需要拒绝只包含数字、连字符或/和点的组合的值。这意味着该值必须至少包含一个字母才能有效。

这包括:

"123"
"1.2.3"
"1-2-3"
"12.3"

任何想法?

4

1 回答 1

1

这个正则表达式应该工作:

/^(?:[0-9][-\.]?)*[A-Za-z](?:[-\.]?[A-Za-z0-9])*$/
  • 强制执行至少一个字母
  • 只允许连字符和点后跟数字或字母
  • 不允许在开头或结尾使用连字符或点

正则表达式

于 2013-01-23T16:07:45.063 回答