ICQ UIN 的正则表达式

发布于 2024-07-26 21:12:40 字数 211 浏览 4 评论 0原文

我应该使用什么RegularExpressionValidator.ValidationExpression来只允许类似ICQ UIN的输入?

xxx-xxx-xxx and xxx-xxx-xx and xx-xxx-xxx and xxxxxxxxx so on..

即使用破折号作为分隔符和不使用破折号。

What RegularExpressionValidator.ValidationExpression should I use to allow only ICQ UIN like input?

xxx-xxx-xxx and xxx-xxx-xx and xx-xxx-xxx and xxxxxxxxx so on..

i.e. with dash as separator and without.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梅窗月明清似水 2024-08-02 21:12:40

您可以使用以下简单的表达式。

^([0-9]-?){7,8}[0-9]$

缺点是,它允许诸如 1-2-3-4-5-6-7-8 之类的内容。 如果您想更多地限制布局,可以使用更复杂的表达式。

^(?=([0-9]-?){8,9})([0-9]{2,3}-?)*(?<!-)$

此表达式使用正向前瞻断言 (?=([0-9]-?){8}) 断言该字符串恰好包含八个或九个数字以及一些破折号。 然后,它匹配由破折号分隔的两个或三个数字组成的组,最后使用断言后面的否定查找 (? 断言该字符串不以破折号结尾。

这仍然允许一些不规则的模式,例如 12-34567-89。 如果您也想消除它们,则必须列出所有允许的模式。 但我建议不要这样做,而是允许尽可能多的灵活性 - 我允许每个字符串包含八个或九个数字以及任意数量的破折号 - 甚至 --123---4-5-67--8,然后以预定义的格式重新格式化用户输入。

^(-*[0-9]-*){8,9}$

You can use the following simple expression.

^([0-9]-?){7,8}[0-9]$

The drawback is, that it allows things like 1-2-3-4-5-6-7-8. If you want to restrict the layout more, you can use complexer expressions.

^(?=([0-9]-?){8,9})([0-9]{2,3}-?)*(?<!-)$

This expression asserts that the string contains exactly eight or nine numbers and some dashes using the positive look ahead assertion (?=([0-9]-?){8}). Then it matches groups of two or three numbers optionaly separated by dashes and finally asserts that the string does not end with a dash using the negative look behind assertion (?<!-).

This still allows some irregular patterns like 12-34567-89. If you want to eliminate them, too, you will have to list all allowed patterns. But I suggest not to do so, but allow as much flexibility as possible - I would allow every string with eight or nine numbers and any number of dashes - even --123---4-5-67--8 and then reformt the user input in a predefined format.

^(-*[0-9]-*){8,9}$
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文