// 符串abcd123ABCD456   怎么转换为 ABCD321abcd654
// 数字要倒序 小写转大写, 大写转小写
Array.prototype.reverse = function() {
var tmp;
for (var i = 0, j = this.length - 1; i < j; i++, j--) {
tmp = this[i];
this[i] = this[j];
this[j] = tmp;
}
return this;
}; function foo(s) {
var code, a = [],
b, last = 0; // 0 1:alpha 2:num for (var i = 0; i < s.length; i++) {
code = s.charCodeAt(i);
if ((97 <= code && code <= 97 + 26 - 1) || (65 <= code && code <= 65 + 26 - 1)) {
if (last !== 1) {
b = [], b.push(code), a.push(b);
} else {
a[a.length - 1].push(code);
}
last = 1;
} else if (48 <= code && code <= 48 + 9) {
if (last !== 2) {
b = [], b.push(code), a.push(b);
} else {
a[a.length - 1].push(code);
}
last = 2;
} else {
if (last !== 0) {
b = [], b.push(code), a.push(b);
} else {
a[a.length - 1].push(code);
}
last = 0;
}
} s = a.map(function(a) {
var c = a[0];
if (48 <= c && c <= 48 + 9) {
return a.reverse();
} else if (97 <= c && c <= 97 + 26 - 1) {
return a.map(function(c) {
return (c &= 0xdf);
});
} else if (48 <= c && c <= 48 + 26 - 1) {
return a.map(function(c) {
return (c |= 0x20);
});
}
return a;
}).map(function(a) {
return a.map(function(c) {
return String.fromCharCode(c);
}).join('');
}).join('');
return s;
} var s = "abcd123ABCD456";
console.log(foo(s));

  

> node char.js
ABCD321abcd654

javascript 字符串 数字反转 字母大小写互换的更多相关文章

  1. JavaScript字符串&数字间转换

    比较操作符的操作数可以是任意类型.然而,只有数字和字符串才能真正执行边角操作,因此那些不是数字和字符串的操作数都讲进行类型转换,类型转换规则如下:      如果操作数为对象,那么对象转换为原始值:如 ...

  2. python列表生成式、键盘输入及类型转换、字符串翻转、字母大小写、数组广播、循环语句等基础问题

    Python知识总结 1.列表生成式 ​ 在实际开发过程中,当需要获取一个连续列表时,可直接使用range(3,10),但是如果获取该列表中每个数据的平方时,通常可以通过for循环来解决这个问题,如下 ...

  3. VC++ 比较两个字符串是否相等,字母大小写相关。

    1.strcmp 这是用于ANSI标准字符串的函数(如string和char *),此函数接受两个字符串缓冲区做为参数,如果两个字符串是相同的则返回零.否则若第一个传入的字符串的值大于第二个字符串返回 ...

  4. PHP字符串word末字符大小写互换

    要求 给出一个字符串如 “A journey of, a thousand 'miles' must can't \"begin\" with a single step.” ,通 ...

  5. java string 首字母大小写方法

    String字符串需要进行首字母大小写改写,查询google,就是将首字母截取,转化大小写 + 首字母后面字符串 //首字母小写 public static String captureName(St ...

  6. 小tips:JS/CSS实现字符串单词首字母大写

    css实现: text-transform:capitalize; JS代码一: String.prototype.firstUpperCase = function(){ return this.r ...

  7. 大小写互换-"数字字符串"转换成数字

    今天穿着hacker浑浊马甲在百度编程课堂实训习题中发现了这个很简单的问题,就做了下. 为了考虑输入的是否是数字,结果写好后竟然超时了. 不过里面用到的将字符串装换成数字的方法,感觉是个收获,因此在此 ...

  8. Python判断字符串是否为字母或者数字

    严格解析:有除了数字或者字母外的符号(空格,分号,etc.)都会Falseisalnum()必须是数字和字母的混合isalpha()不区分大小写 str_1 = "123" str ...

  9. 【Golang】字符串首字母大小写转化

    写在前面 在自动化过程中,我们用得最多的可能就是字符串的处理,熟悉Python的都知道在Python中要让一个字符串的首字母大写直接用capitalize就可以了,但是同样的事情在Golang中没有这 ...

随机推荐

  1. 安全工具推荐之Goby篇

    Goby(鰕虎鱼) 这个东西出来也很久了,有一年多了吧,个人感觉用起来还不错(当然见仁见智哈,别喷我),今天拿来水一篇 官网有很详细的使用说明,所以本文纯属发表一下感慨,非技术贴 官网在此:https ...

  2. leetcode 最佳买卖股票时机含冷冻期

    这道题算是股票问题的变体之一,主要在于不限制交易次数而存在冷冻期,所以我们需要对我们的dp数组进行改变,第一维是指第几天,第二维是指是否持有股票,在这里因为不限制交易次数k,所以并未涉及第三维度. 同 ...

  3. Charles 抓包 Client SSL handshake failed - Remote host closed connection during handshake

    Charles 抓包 https 报错: Client SSL handshake failed - Remote host closed connection during handshake # ...

  4. 剑指 Offer 13. 机器人的运动范围

    剑指 Offer 13. 机器人的运动范围 地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] .一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左.右.上.下移动一 ...

  5. wpf 中的矩形的歪斜

    <Grid> <Rectangle x:Name="rect12" Width="100" Opacity="1" Hei ...

  6. C#高级应用之------HashTable、HashSet和Dictionary的区别(转)

    原文url:http://www.cnblogs.com/akwwl/p/3680376.html 今天又去面试了,结果依然很悲催,平时太过于关注表面上的东西,有些实质却不太清楚,遇到HashTabl ...

  7. mysql行转列 问题 SUM(IF(条件,列值,0))

    sum(if(条件,列值,0))语法用例: select name,sum(if(subject="语文",score,0)) as "语文" from gra ...

  8. Scrapy启动spider出错

    python 3.7 里,async变成了关键字,所以报错. 解决方法:1回退python3.6版本. 2找到报错的那个py文件,比如manhole.py,将函数参数async改个名字(比如改成asy ...

  9. Map 综述(二):彻头彻尾理解 LinkedHashMap

    摘要: HashMap和双向链表合二为一即是LinkedHashMap.所谓LinkedHashMap,其落脚点在HashMap,因此更准确地说,它是一个将所有Entry节点链入一个双向链表的Hash ...

  10. Spring Cloud总结

    restTemplate 消费者模块编写restTemplate配置类,即可在控制层调用提供者模块 // 配置类 @Configuration public class ApplicationCont ...