亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在將字符串傳遞給 encodeURIComponent() 之前從字符串中排除字符

在將字符串傳遞給 encodeURIComponent() 之前從字符串中排除字符

慕斯709654 2023-04-27 17:09:21
如果字符串包含間隔中的字符U+D800..U+DFFF,則encodeURIComponent()拋出malformed URI sequence錯誤。我想在將給定字符串傳遞給encodeURIComponent(). 怎么做?示例:我有一個以 UTF-16BE 編碼的文本文件,其中包含以下六進制字符:D7FF D800 D801 ... DFFE DFFF E000我正在搜索一個從上面的字符串返回這個字符串的函數:D7FF E000因此只保留有效的 Unicode 字符。
查看完整描述

1 回答

?
千萬里不及你

TA貢獻1784條經驗 獲得超9個贊

您可以使用replace/encodeURIComponent組合來獲得所需的結果。您首先需要使用此正則表達式匹配所有不屬于 unicode 范圍的字符[0xD800..0xDFFF]/[^\uD800-\uDFFF]+/g然后用它們的編碼版本替換它們:

let result = string.replace(/[^\uD800-\uDFFF]+/g, match => encodeURIComponent(match));

例子:

let string = "/foo/\uD7FF\uD800\uD801/bar";


let result = string.replace(/[^\uD800-\uDFFF]+/g, match => encodeURIComponent(match));


console.log(result);



查看完整回答
反對 回復 2023-04-27
  • 1 回答
  • 0 關注
  • 111 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號