javascript_javascript スキルでファイルのサフィックス名を取得するアイデアと実装

WBOY
リリース: 2016-05-16 17:29:16
オリジナル
1257 人が閲覧しました

絶対パスのファイル名の場合: D:Program FilesNotepad Notepad .exe
まず、バックスラッシュのエスケープに関する問題を回避するために、次のように正規表現を使用して、または # を置換できます。
D: #Program Files#Notepad #Notepad .exe
その後、「#」を区切り文字として使用して文字列を配列に分解し、次の配列を取得します:
D: ProgramFiles Notepad Notepad .exe
配列の最後のものを取得します。これは、サフィックスが付いたファイル名です: Notepad .exe
次に、区切り文字として「.」を使用してサフィックス付きのファイル名を配列に分解し、次の配列を取得します:
Notepad exe
そして配列を取得します 最後のものはファイルのサフィックス exe を取得できます
コードは次のとおりです (Win7 IE9 テストに合格しました):

コードをコピーします コードは次のとおりです:

//by MoreWindows (http://www.jb51.net/qq)
function GetExtensionFileName(パスファイル名)
{
var reg = /(\ )/g;
var pfn = パスファイル名.replace(reg, "#");
var arrpfn = pfn.split(" #");
var fn = arrpfn[arrpfn.length - 1] ;
var arrfn = fn.split(".");
return arrfn[arrfn.length - 1];
}
//by MoreWindows (http://www.jb51.net /qq)
function GetExtensionFileName(pathfilename)
{
var reg = /(\ )/g;
var pfn = パスファイル名.replace(reg, "#");
var arrpfn = pfn.split("#");
var fn = arrpfn[arrpfn.length - 1];
var arrfn = fn .split(".");
return arrfn[arrfn.length - 1];
}

テストコード:
コードをコピー コードは次のとおりです:

function Test()
{
var filePath="D:\Program Files\Notepad \Notepad .exe";
alert(GetExtensionFileName(filePath));
}

function Test()
{
var filePath="D:\Program Files\ Notepad \Notepad .exe";
alert(GetExtensionFileName(filePath));
}
<入力タイプ="button" value="Test" onclick="Test()" />

[テスト] ボタンをクリックすると、exe コンテンツを含むダイアログ ボックスがポップアップ表示され、GetExtensionFileName がファイルを正しく解析できることが示されます。 name を絶対パスで指定し、サフィックス名を取得します。
この方法は Windows プラットフォームでのみ使用できると思いますが、Linux で実行するとどうなるでしょうか。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート