短信字符数限制如何计算

taotaotttt 2012-09-28 10:09:41
中国移动短信发送要求:每条短信140个纯英文字符或者70个汉字字符,如果有中英文混合,算70字符,这种算法用java怎么实现?怎么计算出字符数的?
...全文
375 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
格陵兰冰山 2013-04-17
  • 打赏
  • 举报
回复
{收货人},亲,您在本店{店铺名称},所购产品已由{物流公司}运单号为{快递单号}发出。收货后感谢您的满分好评。蚊子骚扰,天猫搜“朕兴 防蚊门帘”。
长腮的北极熊 2012-09-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
引用 1 楼 的回复:

可以先用正则表达式判断它是否是全英文,正则如下
java: ^[a-zA-Z0-9\\,\\.\\?\\!\\@\\$\\%\\^\\&\\*\\(\\)\\-\\_\\=\\+\\:\\;\\'\\"\\\\\\/]*$
被以上正则匹配的说明是全英文(你可以按140来算)
否则按70来算


先判断中英文
再判断 长度就好了!!!
[/Quote]


正解
wangzhonglong456 2012-09-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

可以先用正则表达式判断它是否是全英文,正则如下
java: ^[a-zA-Z0-9\\,\\.\\?\\!\\@\\$\\%\\^\\&\\*\\(\\)\\-\\_\\=\\+\\:\\;\\'\\"\\\\\\/]*$
被以上正则匹配的说明是全英文(你可以按140来算)
否则按70来算
[/Quote]

先判断中英文
再判断 长度就好了!!!
zxhcloth 2012-09-28
  • 打赏
  • 举报
回复
可以先用正则表达式判断它是否是全英文,正则如下
java: ^[a-zA-Z0-9\\,\\.\\?\\!\\@\\$\\%\\^\\&\\*\\(\\)\\-\\_\\=\\+\\:\\;\\'\\"\\\\\\/]*$
被以上正则匹配的说明是全英文(你可以按140来算)
否则按70来算
安特矮油 2012-09-28
  • 打赏
  • 举报
回复
		String s = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa中";
System.out.println(s.matches("[^u4E00-u9FA5]{1,140}"));
System.out.println(s.matches(".{1,70}"));

判断两次就好

50,528

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧