检查URL是否有文件扩展名?

时间:2014-05-13 12:49:20

标签: html twitter-bootstrap jquery-plugins

请参阅以下代码:

<script id="template-download" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
<tr class="template-download fade">
    <td>
        <span class="preview">
            {% if (file.thumbnailUrl) { %}
                <a href="{%=file.url%}" title="{%=file.name%}" download="{%=file.name%}" data-gallery><img src="{%=file.thumbnailUrl%}"></a>
            {% } %}
        </span>
    </td>
    <td>
        <p class="name">
            {% if (file.url) { %}     //I need to check here
            <a class="btn btn-primary download"  href="{%=file.url%}" title="{%=file.name%}" download="{%=file.name%}" {%=file.thumbnailUrl?'data-gallery':''%}>
                <i class="glyphicon glyphicon-folder-close"></i>
                </a>
                                    <span>{%=file.name%}</span>
            {% } else { %}
                <span>{%=file.name%}</span>
            {% } %}
        </p>
        {% if (file.error) { %}
            <div><span class="label label-danger">Error</span> {%=file.error%}</div>
        {% } %}
    </td>
</tr>
{% } %}
</script>

现在,我正在检查它是否为URL。但是我想检查一下这个URL是否有文件扩展名。如何给出if条件?

1 个答案:

答案 0 :(得分:1)

你发错了代码吗?以下函数将返回true,传递给它的URL具有超出域名的路径,并且该路径是否具有句点。

function hasExt( url ) {
    var parts = url.split('/'),
        last  = parts.pop();
    return ( parts.length > 3 ) && ( last.indexOf('.') != -1 );
}

示例:url = 'http://example.com/index.html'将返回true 但是url = 'http://example.com/'会返回false