JSFiddle - React, Tailwind, and code Playground

by KEN73CHEN

HTML

<textarea cols=50 rows=10 id='content'>這是一個測試 this is a test</textarea>
<br><span id='cnt'>0</span> 字

JavaScript

document.id('content').addEvent('keyup', count).fireEvent('keyup');
function count() {
    var c = document.id('content').get('value').replace(/\s{2,}/g, " ").split('');
    var cnt = '';
    var re = /[^\x00-\xff]/ig;
    c.each(function(w) {
        if (re.test(w)) {
            cnt += ' '+w+' ';
        } else {
            if (w != "\r" && w != "\n")
                cnt += w;
            else cnt += ' ';
        }
    });
    cnt = cnt.replace(/\s{2,}/g, " ").replace(/^\s/g, "").replace(/\s$/g, "").split(' ').length;
    document.id('cnt').set('text',cnt);
}