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>

  

 

转载于:https://www.cnblogs.com/yanxinhua/p/6050191.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值