1

次のようにファイルされた URL を検証するための JavaScript 正規表現があります。

var regex = /^(?:https?|ftp)\:\/\/....

2 つ (または) 3 つのスラッシュが続く「file://」プロトコルのサポートを追加したい場合は、次のようになりました。

var regex = /^(?:https?|ftp|file)\:\/\/(\/?)....

これに関する問題は、「http:///」もtrueに検証していることです。
別の正規表現を記述せずに「ファイル」プロトコルが存在する場合にのみ、3 番目のスラッシュを受け入れる方法はありますか?

4

2 に答える 2

0

file:おそらく、テストを残りのテストから分離したいと思うでしょう:

/^(?:(?:https?|ftp):\/\/[^/]+|file:\/\/\/?)...
于 2012-10-08T08:55:41.493 に答える
0

1つの可能性は、それを交互に入れることです:

var regex = /^(?:https?:|ftp:|file:\/?)\/\/....

その場合、すべての交替にコロンも追加する必要があります。

于 2012-10-08T09:00:40.740 に答える