Top page  1/37

キリ番

CATEGORY人力検索

匿名質問を除いての いるか 2000 。多分、最後のキリ番。

人力検索

正規表現の前や後ろの文字を切り出す @javascript

CATEGORYjavascript

ソースコード


const s = "aaaaaaaaaaaaaabbbbbbbbbbbbcccccccccccccc";
const re = /b+/g;       // g フラグをつけないと、lastIndex がセットされない
const m = re.exec(s);
if (m) {
    console.log(s.slice(0, m.index));       // 前:aaaaaaaaaaaaaa
    console.log(m[0]);                      // 中:bbbbbbbbbbbb
    console.log(s.slice(re.lastIndex));     // 後:cccccccccccccc
}


参考

javascript

今どきの文字コード変換

CATEGORY未分類
EUC で URI エンコードされた文字列を javascript で使いたい という件。 今どきは、TextDecoder を使うらしい。

fetch と組み合わせると、UTF-8 じゃないページでもデータを扱えるということらしい。

async function fetch_and_decode(url) {
    const response = await fetch(url, {credentials: "include", redirect: "follow"});
    const responseURL = new URL(response.url);
    
    const contentType = response.headers.get("Content-Type");
    if (contentType === null) {
        throw new Error(`Content-Type Error: ${contentType}`);
    }
    const mimeType = new MIMEType(contentType);
    if (!mimeType.isHTML() && mimeType.essence !== "application/xhtml+xml") {
        throw new Error(`Content-Type Error: ${contentType}`);
    }
    
    const ab = await response.arrayBuffer();
    const charset = mimeType.parameters.get("charset") || document.characterSet;
    const textDecoder = new TextDecoder(charset);
    const responseText = textDecoder.decode(ab);
    
    return {responseURL, responseText};
}
※CORS の問題はあるとしても。

javascript

uBO test

CATEGORY未分類