回答
默認的GSM字符集在GSM 03.38中定義。假設你正在尋找解碼文本,而不是7位壓縮格式是真正使用,就像一個正則表達式下面應該限制你允許的字符
"@£$¥èéùìòÇ\fØø\nÅåΔ_ΦΓΛΩΠΨΣΘΞÆæßÉ !\"#¤%&'()*+,-./[0-9]:;<=>\?¡[A-Z]ÄÖÑܧ¿[a-z]äöñüà\^\{\}\[~\]\|€"
不過,請注意,可以發送的Unicode UCS-2消息,此時接收消息的手機必須具有合適的字形以呈現給用戶,但unicode本身不是限制因素。
我建議做手工。
你一定要採取像[
]
(需要轉義)反引號取決於你與寫作(因爲它coud結束模式的字符串)
^[[email protected]#$%^&*()`\[\]{};':,./<>?| ]*$
語言的引用一些例外的護理
也許這需要稍微調整。我很確定 - 和_在短信文本中被接受。
我搜索了很多,但我認爲最好的一個是。
function CharecterControl(input) {
var str = /[^A-Za-z0-9 \\r\\[email protected]£$¥èéùìòÇØøÅå\u0394_\u03A6\u0393\u0027\u0022\u039B\u03A9\u03A0\u03A8\u03A3\u0398\u039EÆæßÉ!\#$%&()*+,\\./\-:;<=>?¡ÄÖÑܧ¿äöñüà^{}\\\\\\[~\\]|\u20AC]*/;
return !new RegExp(str).test(input);
}
如何讓它在php命令preg_match上也能正常工作? – Gaucho 2015-06-25 12:23:45
似乎在這個正則表達式中反斜槓已經逃脫了太多次。是不是正確的一個是'[^ A-Za-z0-9 \ r \ n @£$¥èéùìòÇØøØØ\ u0394_ \ u03A6 \ u0393 \ u0027 \ u0022 \ u039B \ u03A9 \ u03A0 \ u03A8 \ u03A3 \ u0398 \u039EÆæßÉ !\#$%&()* +,\ ./ \ - :; <=>?¡ÖÑܧ¿äöñüà^ {} \\\ [〜\] | \ u20AC]'? – zVictor 2015-09-24 09:39:25
我知道我對派對有點遲到,但是我一直在爲此而戰。最近,我跑過Twitter的開源項目:
https://github.com/twitter/cloudhopper-commons-charset
它提供了基於字符集發送之前清理字符串的好方法。它還支持基於SMS友好字符集將字符串編碼爲字節。這裏是我的例子清理現有的字符串之前,通過使用他們的庫發送短信:
public static String cleanSMS(String msg) {
Charset charset = CharsetUtil.map(CharsetUtil.NAME_GSM7);
StringBuilder cleaned = new StringBuilder(msg);
log.info("Accent chars replaced: " + MobileTextUtil.replaceAccentedChars(cleaned));
log.info("Safe chars replaced: " + MobileTextUtil.replaceSafeUnicodeChars(cleaned));
return CharsetUtil.normalize(cleaned.toString(), charset);
}
- 1. 短信驗證
- 2. 驗證短信 - Google App Engine
- 3. 短信驗證的NodeJS
- 4. 使用RegExp驗證
- 5. 驗證RegExp問題
- 6. 驗證外部.js文件中的RegExp
- 7. appengine短信驗證:多個帳戶?
- 8. 如何驗證傳入的Twilio短信?
- 9. 短信驗證碼,從火力地堡
- 10. Android服務器短信驗證碼
- 11. 短信驗證的Android應用程序
- 12. iOS審查過程,短信驗證
- 13. 如何實現短信驗證註冊?
- 14. 驗證iMessage支持,短信支持
- 15. ios通過短信在android中驗證
- 16. AWS Cognito未發送驗證短信
- 17. RegExp驗證首先http
- 18. TCL的regexp名稱驗證
- 19. Firebase上的4位數短信驗證代碼身份驗證
- 20. 短信文本編碼
- 21. 短信文本標準化
- 22. 文本驗證
- 23. 文本短信和數據短信有什麼區別?
- 24. PHP RegExp:驗證日期(或「RegExp必須完全匹配」)
- 25. RegExp的日期驗證在JavaScript
- 26. 「cut -f values」通過regexp驗證
- 27. 手機驗證自定義Regexp
- 28. RegExp驗證字符串「900 - 09 999」
- 29. Regexp用於密碼驗證的Java
- 30. 用戶輸入(regExp)的Javascript驗證
任何運氣與評論和答案? – 2011-03-08 22:28:46