Ruby   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – Ruby中有效子域的正则表达式大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图验证将用作子域的用户输入字符串.规定如下:

>长度在1到63个字符之间(我从Google Chrome中显示的角色数量取63个子域,不知道它是否实际上是一个服务器指令.如果您对有效的最大长度有更好的建议,我有兴趣听到它)
>可能包含a-zA-Z0-9,连字符,下划线
>不能以连字符或下划线开始或结尾

编辑:从下面的输入,我添加了以下内容:
4.不应包含连续的连字符或下划线.

例子:

a => valid
0 => valid
- => not valid
_ => not valid
a- => not valid
-a => not valid
a_ => not valid
_a => not valid
aa => valid
aaa => valid
a-a-a => valid
0-a => valid
a&a => not valid
a-_0 => not valid
a--a => not valid
aaa- => not valid

我的问题是我不知道如何使用RegEx指定字符串只允许一个字符,同时也指定它可能不以连字符或下划线开头或结尾.

谢谢!

解决方法

你不能在正确的子域中有下划线,但是你需要它们吗?修剪你的输入后,做一个简单的字符串长度检查,然后用这个测试:
/^[a-z\d]+(-[a-z\d]+)*$/i

以上所述,您不会得到连续的字符,例如a-bbb-ccc通过和失败.

/^[a-z\d]+([-_][a-z\d]+)*$/i

将允许非连续的下划线.

大佬总结

以上是大佬教程为你收集整理的ruby-on-rails – Ruby中有效子域的正则表达式全部内容,希望文章能够帮你解决ruby-on-rails – Ruby中有效子域的正则表达式所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: