私が持っているアプリケーションでいくつかのURLを検証しようとしています。私はURLを渡すことができますし、正規表現に従ってURLが有効な場合はtrue
またはfalse
を返します。Javascript isURL Function
一般的な日常URLではこれが機能していますが、確認のためのファイル共有に必要なURLがいくつかあります。
私は下の関数に組み込むことができるファイルホールダーに使う良いパターンか、これがすでに存在する場合にはこのバリデーションを含むjQueryプラグインを見つけようとしています。
alert(isURL('\\server-123.somedomain.com\path\to\file.txt')); // Returns False
function isURL(str) {
var pattern = new RegExp('^(https?:\\/\\/)?'+ // protocol
'((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.?)+[a-z]{2,}|'+ // domain name
'((\\d{1,3}\\.){3}\\d{1,3}))'+ // OR ip (v4) address
'(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*'+ // port and path
'(\\?[;&a-z\\d%_.~+=-]*)?'+ // query string
'(\\#[-a-z\\d_]*)?$','i'); // fragment locator
return pattern.test(str);
}
編集:
私が示した例ではその正確なパス構造に一致するようにそれを必要としません。私は一般的にファイル共有を許可するパターンが必要です。提案ポストhere
[Javascript URL validation regex]の複製があります。(http://stackoverflow.com/questions/18364404/javascript-url-validation-regex) –
@Haroldo_OKこれは典型的な(http/s/ftp)構造を検証するだけです。私はファイル共有 '\\ fileshare-path \ something.txt'に加えてそれを探しています – SBB
'新しいURL()の周りにtry catchブロックを使用してください –