① js怎麼把數組強制轉換為字元串
可以採用字元串抄拼接的的方式。
例如:
<!DOCTYPEhtml>
<html>
<head>
<metacharset="UTF-8">
<title></title>
<scripttype="text/javascript">
//數組
vararr=['1',[2],
[3]
];
</script>
</head>
<scriptlanguage="JavaScript">
//轉換類型
varstrs=arr+"";
//測試將數組轉換以後的類型
vart=typeofstrs;
document.write("數組arr轉換成t的類型是:"+t);
</script>
<body>
</body>
</html>
執行結果:
② JS實現HTML標簽轉義及反轉義
簡單說一下業務場景,前台用戶通過input輸入內容,在離開焦點時,將內容在div中顯示。
這時遇到一個問題,如果用戶輸入了html標簽,則在div顯示中,標簽被解析。
由於是純前端操作,不涉及後端,因此需要通過js對輸入內容進行轉義。
這里提供一個非常簡單有效的轉義方案,利用了innerHTML和innerText
註:火狐不支持innerText,需要使用
textContent
屬性,而IE早期版本不支持此屬性,為了同時兼容IE及火狐,需要進行判斷操作.
因為innerText(textContent)會獲取純文本內容,忽略html節點標簽,而innerHTML會顯示標簽內容,
所以我們先將需轉義的內容賦值給innerText(textContent),再獲取它的innerHTML屬性,這時獲取到的就是轉義後文本內容。
代碼如下:
function
HTMLEncode(html)
{
var
temp
=
document.createElement("div");
(temp.textContent
!=
null)
?
(temp.textContent
=
html)
:
(temp.innerText
=
html);
var
output
=
temp.innerHTML;
temp
=
null;
return
output;
}
var
tagText
=
"<p><b>123&456</b></p>";
console.log(HTMLEncode(tagText));//<p><b>123&456</b></p>
通過測試結果,可以看到html標簽及&符都被轉義後保存。
同理,反轉義的方法為先將轉義文本賦值給innerHTML,然後通過innerText(textContent)獲取轉義前的文本內容
function
HTMLDecode(text)
{
var
temp
=
document.createElement("div");
temp.innerHTML
=
text;
var
output
=
temp.innerText
||
temp.textContent;
temp
=
null;
return
output;
}
var
tagText
=
"<p><b>123&456</b></p>";
var
encodeText
=
HTMLEncode(tagText);
console.log(encodeText);//<p><b>123&456</b></p>
console.log(HTMLDecode(encodeText));
//<p><b>123&456</b></p>
以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
③ js 如何給中文轉碼
需要准備的材料分別有:電腦、html編輯器、瀏覽器。
1、首先,打開html編輯器,版新建html文件,例如:index.html。
④ js 如何把字元串轉化為日期
varstr="2010-08-01";
//轉換日期格式
str=str.replace(/-/g,'/');//"2010/08/01";
//創建日期對象
vardate=newDate(str);
//加一天
date.setDate(date.getDate()+1);
反之,日期格式化為字元串
//完整的格式化 var time2 = new Date().format("yyyy-MM-dd hh:mm:ss");
Date.prototype.format = function (fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"h+": this.getHours(), //小時
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
//處理年份
var reYear = /(y+)/;
var resultYear = reYear.exec(fmt);
if (resultYear)
{
var yearformatPart = resultYear[0];//匹配到的格式化字元
var yearVal = (this.getFullYear() + "").substr(4 - yearformatPart.length);
fmt = fmt.replace(yearformatPart, yearVal);
}
for (var k in o) {
var re = new RegExp("(" + k + ")");
var re = re.exec(fmt);
if (re) {
var Val = "" + o[k];//本次需要替換的數據
var formatPart = re[0];//匹配到的格式化字元
var replaceVal = (formatPart.length == 1) ? (Val) : (("00" + Val).substr(Val.length));
fmt = fmt.replace(formatPart, replaceVal);
}
}
return fmt;
}