localeCompare() 方法實現中文的拼音排序


google了很多次才發現在國外網站上有提示如何比較中文,原文地址:http://www.webdeveloper.com/forum/showthread.php?t=9365

前提:使用Unicode 編碼,如果其他GBK此方法應該就不行!


 

定義和用法

 用本地特定的順序來比較兩個字符串。

stringObject.localeCompare(target)

target:要以本地特定的順序與 stringObject 進行比較的字符串


 

測試1:

var str="北京";
var var2="北京";
var res=str.localeCompare(var2);
console.log(res); //輸出0

測試2

var str="星期一";
var var2="星期二";
var res=str.localeCompare(var2);
console.log(res); //輸出1

測試3

var str="星期三";
var var2="星期一";
var res=str.localeCompare(var2);
alert(res); //輸出-1

測試4

<html>
<head>
<title>JavaScript String localeCompare() Method</title>
</head>
<body>
<script type="text/javascript">
var str1 = new String( "This is beautiful string" );
var index = str1.localeCompare( "XYZ" );
document.write("localeCompare first :" + index ); 
 
document.write("<br />" ); 
 
var index = str1.localeCompare( "AbCD ?" );
document.write("localeCompare second :" + index ); 
 
</script>
<!--結果:localeCompare first :-1
localeCompare second :1 -->
</body>
</html>

實現中文的拼音排序:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>JavaScript對文字按照拼音排序</title>
</head>
<body>
	<SCRIPT type="text/javascript">
		function defaultSort(){
			var a="博,啊,吃,世,中,超";
			a=a.split(",");
			a.sort();
			alert(a);
		}
		function cusSort(){
			var a="博,啊,吃,世,中,超";
			a=a.split(",");
			a.sort(function(a,b){
			  return a.localeCompare(b);
			});
			alert(a);
		}
	</SCRIPT>
	<a href="#" onClick="defaultSort();">默認排序</a><br>
	<a href="#" onClick="cusSort();">按拼音字母排序</a>   
</body>
</html>

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM