js 怎么把字符串组 按顺序a-z,A-Z,0-9,的顺序排列

字符串有字母大小写a-z,A-Z,也有数字0~9,还可能有汉字,怎么才能把他们按照顺序排列

js怎么做到吧字符串组,像Office表格软件里面那样,把字符串组按顺序排列?请高手帮忙谢谢

如下:

">

<html> <head>  <meta http-equiv="Content-Type" content="text/html; charset=gbk">  <title>Untitled Document</title>  <script>   window.onload=function(){    var a="1我a2你b3他d";   //要排序的字符串a    var b=a.split("");       //分割字符串a为数组b    b.sort();              //数组b升序排序(系统自带的方法)    var c=b.join("");        //把数组b每个元素连接成字符串c    alert(c);              //输出最终排序好的字符串   }  </script> </head> <body> </body>

</html>

排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。分内部排序和外部排序,若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序。

反之,若参加排序的记录数量很大,整个序列的排序过程不可能在内存中完成,则称此类排序问题为外部排序。内部排序的过程是一个逐步扩大记录的有序序列长度的过程。

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-07-22
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<script>
    var arr = ['abc', 'bcd', '012', '123', '啊', '不'];
    alert(arr);
    arr.sort(function(a, b){return (a + '').localeCompare(b + '')});
    alert(arr)
</script>
<textarea cols='50' rows='17' id='values' onkeyup="keyup()"></textarea>
</body>
</html>

第2个回答  2013-07-21
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "
">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=gbk">
  <title>Untitled Document</title>
  <script>
   window.onload=function(){
    var a="1我a2你b3他d";   //要排序的字符串a
    var b=a.split("");       //分割字符串a为数组b
    b.sort();              //数组b升序排序(系统自带的方法)
    var c=b.join("");        //把数组b每个元素连接成字符串c
    alert(c);              //输出最终排序好的字符串
   }
  </script>
 </head>
 <body>
 </body>
</html>

整个过程注释写得很清楚了,希望对你有帮助

追问

很有帮助,谢谢你,sort这个函数能不能反过来按将数排列呢

追答

逆序排序用reverse()

本回答被提问者采纳
第3个回答  2013-07-21
我有个方法不知道好不好,你可以通过正则表达式先分别把数字,字符串提取出来,剩余的就是汉字,然后进行你需要的排列就可以了!
第4个回答  2013-07-22
额,插件啊,靠

js 怎么把字符串组 按顺序a-z,A-Z,0-9,的顺序排列
如下:"> <html> <head> <meta http-equiv="Content-Type" content="text\/html; charset=gbk"> <title>Untitled Document<\/title> <script> window.onload=function(){ var a="1我a2你b3他d"; \/\/要排序的字符串a var b=a.split(""); \/\/分割字符串a为数组b b...

js验证非法字符,只能包含a-z.0-9,和下划线
var re=\/^[a-z0-9_]{4,14}$\/ if(!re.test(name.value)){ alert("输入长度为4-14个字符");name.focus();return false;}

js正则判断一个字符串里必须包含大写字母,小写字母,数字,特殊字符? 必...
var regEnUp=\/[A-Z]+\/,\/\/大写字母 regEnLow=\/[a-z]+\/,\/\/小写字母 regNum=\/[0-9]+\/,\/\/数字 regEnSymbol= \/[`~!@#$%^&*()_+<>?:"{},.\\\/;'[\\]]\/im,\/\/英文特殊字符 regCnSymbol = \/[·!#¥(——):;“”‘、,|《。》?、【】[\\]]\/im;\/\/中文特殊字符 ...

js正则怎么判断一个字符串里必须包含大写字母,小写字母,数字,特殊字符...
\/^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?\\d)(?=.*?[#@*&.])[a-zA-Z\\d#@*&.]*$\/ 如果是要求包含且只包含,就这么写 另外你说的特殊字符指那些,可以自己在[#@*&.]这个里面添加扩充就行了

js语法分组问题,求大神帮帮忙。。
根据你的需要来看,其实替换字符串是最简单的也是最实用的方法 看你的别名发现全是以$开头的,那其实以$开头的变量提取出来进行替换就行了 匹配所有别名的正则:\/\\$[A-Za-z\\_]+[A-Za-z\\_0-9]*\/g 但是你的目的不仅仅是匹配,替换才是最终目的,最终代码如下:\/\/ 这是原始字符串var str =...

JAVA 判断字符串是否由(0-9,A-Z,a-z)组成
((c>='0' && c<='9') || (c>='A' && c<='Z') || (c>='a' && c<='z'))这是最简单的写法了。

js 正则表达式问题 匹配a\/b\/c这样的格式
\/^[a-zA-Z0-9_]+(\\\/[a-zA-Z0-9_]+){0,3}$\/ 应该可以

JS中如何验证字符串 包含固定格式字符串
^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$ \/\/匹配负浮点数 ^(-?\\d+)(\\.\\d+)?$ \/\/匹配浮点数 ^[A-Za-z]+$ \/\/匹配由26个英文字母组成的字符串 ^[A-Z]+$ \/\/匹配由26个英文字母的大写组成...

js正则表达式怎样写匹配连续的字符串(如:123456)和重复的字符串(如...
匹配连续的字符串,可以比较ASCII码值是否连续。正则表达式,不知道怎么写。var lineFlag = false;var re =\/^[0-9]{1,20}$\/g;var re1 = \/^[a-z]{1,20}$\/g;var re2 = \/^[A-Z]{1,20}$\/g;\/\/如果是全数字或全字母 if(re.test(pwd) || re1.test(pwd) || re2.test(pwd)...

js如何通过for循环写出大写字母a到z
<script>for(var i=0;i<26;i++){ document.write(String.fromCharCode(65+i));\/\/输出A-Z 26个大写字母}for(var i=0;i<26;i++){ document.write(String.fromCharCode(97+i));\/\/输出a-z 26个小写字母} <\/script> for循环是开界的。它的一般形式为: for(; <条件表达式...

相似回答