區分中英文字元個數統計程式碼例項

antzone發表於2017-04-17

一個英文字元佔一個位元組,那麼我們可以認為它佔長度為1,一個漢字字元佔兩個位元組,它佔長度為2。

下面就分享一段程式碼例項,它能夠統計字串的長度,並且能夠區分中英文。

程式碼例項如下:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
</head>  
<body>  
<input type="text" value="" id="str"><span id="showcontent"></span>
<script type="text/javascript">  
var countnums = (function() {
  var trim = function(strings) {
    return (strings || "").replace(/^(\s|\u00A0)+|(\s|\u00A0)+$/g, "");
  }
  return function(_str) {
    var strlength = _str.length;
    if (!strlength) {
      return 0;
    }
    var chinese = _str.match(/[\u4e00-\u9fa5]/g);
    return strlength + (chinese ? chinese.length : 0);
 
  }
})();
 
function count(tThis) {
  var charnum = countnums(tThis.value)
  var showid = document.getElementById("showcontent");
  showid.innerHTML = "您總共輸入了" + charnum + "個字元";
 
}
window.onload = function() {
  var str = document.getElementById("str");
  str.onkeypress = function() {
    count(this);
  }
  str.onkeyup = function() {
    count(this);
  }
}
</script>  
</body>  
</html>

相關文章