今天要实现一个功能,就是要在HTML页面上用JS根据短信的字数,计算用户发的短信要拆分的条数。
如果短信内容的字符全部属于{英文,数字,英文半角字符,空格,换行},则一条短信最长为160个字符,二条最长306个字符,三条最长459个字符,四条最长612个字符,五条最长765个字符,最长五条。
如果短信内容含有上述集合以外的字符,则一条短信最长为70个字符,二条最长134个字符,三条最长201个字符,四条最长268个字符,五条最长335个字符,最长五条。
我是用JS的正则表达式来判断短信内容是否匹配“非英文字符”这种方法来解决的,如果匹配,说明有以上集合意外的字符,如果不匹配,则说明没有非英文字符。
我以为这样的正则表达式网上一找一大堆啊,我上百度搜了半天啊,结果都差强人意。有的把空格也认为是中文字符,有的把句号认为是英文字符。计算机是严谨的,我决定用谷歌搜,结果我很快就找到了,这个正则表达式是:/[^\x00-\xff\w]/啊。我记在这了,以后备用。
最后说一句,百度你太不给力啊,搜出来的东西都是一样的内容啊,百度的工程师们想办法解决一下这个问题吧。别整天忙着屏蔽了。