簡體   English   中英

正則表達式中的最小和最大長度

[英]Minimum and maximum length in a regular expression

我正在使用以下正則表達式來驗證電子郵件:

^\w+([-.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

現在,我想修改此正則表達式以使用{5,100}驗證電子郵件長度。 我怎樣才能做到這一點?

^(?=.{5,100}$)\w+([-.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

我正在使用零寬前瞻。 它不會消耗字符,因此您可以使用表達式重新檢查它們。

小心。 這是一個相對較弱的表達式,甚至與user@server.com.net.org匹配。 電子郵件正則表達式像其他許多問題,已經討論過這一個

通常,可以使用您使用的語言/工具來檢查字符串的長度。 在某些情況下,這可能甚至更快。 作為示例(在Perl中):

my $len = length $str;
if ($len < 5 || $len > 100) {
    # Something is wrong
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM