2016-09-20 52 views
1

我需要知道如何您可以從任何input type="text"字段中輸入表情符號,用戶ABE能夠提交我的形式阻止平板電腦或移動用戶,但它引起我的中間層的錯誤,因爲他們來通過作爲正方形,並寫入我的數據庫作爲正方形。停止表情被輸入輸入字段中

不能在谷歌上找到解決方案,所以認爲id在這裏問。

是否有我可以使用的HTML屬性?

+0

根據您的後端數據庫,你也可以使用'utf8_unicode_bin'相當於編碼和你的數據庫將能夠處理的表情符號就好了。 (只要你不假設1個字符長度爲1字節) – Kris

+0

@Kris我不想要emojis。 – murday1983

+0

也許,但你可能想現在還是向下行,如中國,日本,朝鮮文,阿拉伯文等支持 – Kris

回答

1

通過更改編碼來使數據庫兼容可能是一個更好的主意。

話雖這麼說,你可以循環遍歷文本字段中的所有字符,並確保他們的序號是32到255(含)之間。這樣可以讓你只允許打印ASCII字符,對於任何英文文本來說都足夠了。

事情是這樣的:(未經測試,在textarea的類型)

function stripNonAscii(input) { 
    let output = ''; 
    for (var i = 0; i < input.length; i++) { 
     let c = input.charCodeAt(i); 
     if(c >= 32 && c <= 255) { 
      output += input.substring(i, 1); 
     } 
    } 
    return output; 
} 
+0

這是正確的答案。在表單處理過程中,應該/可以再次檢查後端。 – eosrei