CGI-BBS > 電子掲示板 > 簡易BBS > URLの入力形式チェックしたい。


カレッヂ
カレッヂ


質問者 waoh  投稿日 8/30(金) 01:18:57
簡易BBSを改造して入力項目としてURLを追加しましたが、その入力された内容をEメールの項目での形式チェックのように、URLでもhttp〜がないとダメとか入力ミスを防ぐチェックをかけたいと思っています。


if ($FORM{'email'} ne '' && !($FORM{'email'} =~ /\b[-\w.]+@[-\w.]+\.[-\w]+\b/)) { &error('入力ミス','Eメールの形式が間違っています.'); }

のようにURL形式をチェックする際のポイントとかあれば、よろしくおねがいします。

プロバイダ参照:
サーバのOS:UNIXサーバ
パソコンのOS:(未選択)
エディタ:
FTPソフト:
サーバ移転:していない
改造:(未選択)
CGI習熟度:(未選択)

回答者 しあわせのツボ  [削除]  投稿日 8/30(金) 02:20:46
レスキューさんのCGIのうちいくつかには、
URIを見つけたら自動的にリンクする機能があります。
それを見れば、どのように判断しているかがわかりますよ。
質問者 waoh  [削除]  投稿日 9/3(火) 22:56:04
文中のURLを取り出してリンクを張る部分ですね。

単にhttp(s):// で始まってカンマとセミコロンは使えません、ってしたいだけなんですけどね。
正規表現の書き方が理解できないでいます:-(
回答者 しあわせのツボ  [削除]  投稿日 9/4(水) 03:31:00
カンマはURIとして有効な文字だと思いますが、いいのでしょうか。
「カンマとセミコロン以外」は、補集合 [^,;] で表せます。
これの後ろに + をつければ「〜の連続」を指定できますね。

このままだと、本当に,と;以外は全て通ってしまうので、
マルチバイト文字もURIの一部と見なされてしまいますけど。

返信(回答)する


Web裏技