摘要:[ASP.NET][JavaScript] 計算字元長度 (Length / Byte)
今天公司剛好遇到一個問題
ERP資料庫長度開varchar2(6)
而前台表單卻可以讓使用者輸入中英數
基本上小弟趨向修正TABLE的欄位型態改成nvarchar2就OK拉
但是那個SA真是OOXX
算了....一堆廢話~來看CODE吧
#ASP.NET
string str = "小弟是Y2J";
//字串的長度計算方式,中文(3) + 英數字(3) = 總共(6)
Response.Write(str.Length.ToString());
//利用Byte單位來計算字串長度,中文(6) + 英數字(3) = 總共(9)
Response.Write(System.Text.Encoding.Default.GetBytes(str).Length);
#JavaScript
<script type="text/javascript" language="javascript">
//string.Blength() 傳回字串的byte長度
String.prototype.Blength = function()
{
var arr = this.match(/[^\x00-\xff]/ig);
return arr == null ? this.length : this.length + arr.length;
}
</script>
var str = "小弟是Y2J";
//中文字(3) + 英數字(3) = 總共(6)
alert("字元數:"+str.length);
//中文字(6) + 英數字(3) = 總共(9)
alert("byte數:"+str.Blength());
Y2J's Life:http://kimenyeh.blogspot.tw/