[ASP.NET][JavaScript] 計算字元長度 (Length / Byte)

  • 9839
  • 0

摘要:[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/