在沒步入正軌之前,先跟大家介紹JavaScript 特殊字元
你可以在 JavaScript 中使用反斜線來為文字字串添加特殊字元。
插入特殊字元
反斜線用來在文字字串中插入省略號、換行符、引號和其他特殊字元。
請看下面的 JavaScript 程式碼:
var txt="We are the so-called "Vikings" from the north." document.write(txt)
在 JavaScript 中,字串使用單引號或雙引號來起始或結束。這意味著上面的字串將被截為:We are the so-called。
要解決這個問題,就必須把在 "Viking" 中的引號前面加上反斜線 ()。這樣就可以把每個雙引號轉換為字面上的字串。
var txt="We are the so-called \"Vikings\" from the north." document.write(txt)
現在 JavaScript 就可以輸出正確的文字字串了:We are the so-called "Vikings" from the north。
這是另一個例子:
document.write ("You \& me are singing!")
上面的範例會產生以下輸出:
You & me are singing!
下面的表格列出了其餘的特殊字符,這些特殊字符都可以使用反斜杠來添加到文本字符串中:
代碼 | 輸出 |
---|---|
' | 單引號 |
" | 雙引號 |
& | 和號 |
\ | 反斜線 |
n | 換行符 |
r | 回車符 |
t | 製表符 |
b | 退格符 |
f | 換頁符 |
背景:
今天在做一個任務時,用jquery的ajax傳遞一長串字符時,在後台地驗證一直不成功,糾結時我了(那個字符串是隨機生成地,特長).查了一上午,原來是我生成地字串中有號,而在js傳遞地時候,會理解為是連接字符用地,到了後台就將號自動變為空格了,所以後台地字符串和前台生成地已經不一樣了.
原因:
js後自動解析特殊字符,如 號為連接符,解析為空格,&為變量連接符,伺服器端接受數據時&以後地數據不顯示等等.
解決方法:
1、將字元放到form中,然後用js提交form表單到伺服器.
2.將字符中地特殊字符替換成十六進制地字符,一些特殊字符與十六進制地對應關係:
空格 | / | ? | % | & | = | # | |
+ | / | ? | %& | &3d | # |