摘要: 很多情况下,我们需要控制长标题的显示字数。在客户端用JavaScript控制显示最大字数后,由于js把任何字符都当作1个长度来处理,由此导致全角和半角字符显示的实际长度不同。
例如我们设置某个文章列表页面所有的文章标题最长显示10个字符。那么如下的题目:
这篇文章是测试标题长度显示的文章
I love my country.I love all of you.
处理后,将分别显示为:
这篇文章是测试标题长
I love my (注意最后还有一个空格)
假设我们是按照中文的宽度来确定10个字符这个标准的,那么当标题是英文等半角字符时,显然太短了。反过来,如果我们按照英文等半角字符来确定显示字符数量标准,那么如果题目是中文的时候,又很容易出现自动换行等我们不希望出现的结果。
本文尝试以一种笨拙的办法处理这个问题。即使用js检查字符串中的每一个字符,如果发现有两个(注意不一定相连)的半角字符,那么就将显示长度标准加1。
阅读全文