漢字/英字の長さ判断--JS版とJava方法版
1590 ワード
http://www.blogjava.net/loyalgl/archive/2010/12/15/340739.html
漢字/英字の長さ判断--JS版とJava方法版
JS方法:
javaメソッド:
漢字/英字の長さ判断--JS版とJava方法版
JS方法:
<script language=javascript>
String.prototype.lenB = function(){return this.replace(/[^\x00-\xff]/g, "**").length;}
var str = " ";
alert( " = " + str.length);
alert( " = " + str.lenB());
</script>
説明:上のJSの方法の「*」は一つの中国語を英語の桁数に置き換えるという意味です。「*」は一つの中国語=二つの英語を表します。javaメソッド:
/**
* , , 2
*
* @param value
*
* @return
*/
public int chineseLength(String value) {
int valueLength = 0;
String chinese = "[\u0391-\uFFE5]";
/* , , 2, 1 */
for (int i = 0; i < value.length(); i++) {
/* */
String temp = value.substring(i, i + 1);
/* */
if (temp.matches(chinese)) {
/* 2 */
valueLength += 2;
} else {
/* 1 */
valueLength += 1;
}
}
return valueLength;
}
説明:見たらわかると思いますが、肝心の文は18行目です。