>  Q&A  >  본문

javascript - 如何使用js将一段文字中的全角字符和半角字符区分开并用<span>包裹起来?

比如这里有一段文字:

<p id="content">
    <p>中Mìng-dĕ̤ng-ngṳ̄ Mir日本語an국dés, Bân-lâm-gú / Hō-ló-oē文,한국어,日,本1+2=3!@#語。</p>
</p>

现在的需求是,经过处理后,这段文字变成这样:

<p id="content">
    <p><span class="full">中</span><span class="semi">Mìng-dĕ̤ng-ngṳ̄ Mir</span><span class="full">日本語</span><span class="semi">an</span><span class="full">국</span><span class="semi">dés, Bân-lâm-gú / Hō-ló-oē</span><span class="full">文,한국어,日</span><span class="semi">,</span><span class="full">本</span><span class="semi">1+2=3!@#</span><span class="full">語。</span></p>
</p>

就是将连续的半角字符和全角字符分别用<span>包裹起来,只不过全角字符的class"full",半角为"semi"

请问有什么好办法解决吗?

天蓬老师天蓬老师2772일 전535

모든 응답(3)나는 대답할 것이다

  • 黄舟

    黄舟2017-04-11 11:49:45

    你能通过js判断那些字是全角和半角吗

    회신하다
    0
  • 怪我咯

    怪我咯2017-04-11 11:49:45

    如果只是为了样式,如果只是针对字体设置,可以使用CSS中新添加的unicode-range。

    其它情况的话,必须要用JavaScript(浏览器前端)或者后端负责渲染的引擎来判断字符范围再进行HTML的构造。

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-11 11:49:45

    JS+正则吧简单粗暴直截了当,具体效果可用看这里:
    http://regex.zjmainstay.cn/r/...

    회신하다
    0
  • 취소회신하다