回答
默认的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