[Fwd: [Html-widget] formfu - new features]
Jason Kohles
email at jasonkohles.com
Wed Mar 14 14:21:45 GMT 2007
On Mar 14, 2007, at 4:09 AM, Mario Minati wrote:
>
> So this brings me back to my problem to find a constrain that
> handles the http
> webadresses a user could type. For me that should include the
> fragment and
> doesn't need necessarily the https? scheme.
>
> For now I would suggest to make a custom Constraint out of it which
> doesn't
> need to be part of the main formfu distribution.
>
The easiest way to do that would be to build a custom Regexp::Common
subclass using the pieces that Regexp::Common::URI already provides...
package Regexp::Common::WebAddress;
use strict;
local $^W = 1;
use Regexp::Common qw( pattern clean no_defaults );
use Regexp::Common::URI::RFC2396 qw(
$host $port $path_segments $query $fragment
);
pattern name => [ qw( WebAddress ) ],
create => "(?k:(?k:https?)://(?k:$host)(?::(?k:$port))?".
"(?k:/(?k:(?k:$path_segments)(?:[?](?k:
$query))?))?".
"(?k:#$fragment)?)";
#!/usr/bin/perl -w
use Regexp::Common qw( WebAddress );
print "$_: ".( /^$RE{WebAddress}$/ ? "VALID" : "NOT VALID" )."\n" for (
'http://www.google.com/',
'foo://blah.arghh!/',
'foo://foo.bar/',
'https://minati.de./',
'http://minati.de./',
'https://minati.de/index.html#lkj',
'http://minati.de/index.html#lkj',
);
--
Jason Kohles
email at jasonkohles.com
http://www.jasonkohles.com/
"A witty saying proves nothing." -- Voltaire
More information about the Html-widget
mailing list