字符串除了第一位和最后一位中间用*替换

$(".user-name").each(function(){
var userName = $(this).html().trim();
var _name = "";
var nameLength = userName.length;
if (nameLength > 2) {
var nameLength = nameLength - 2;
while (nameLength > 0) {
_name += "*";
nameLength--;
}
userName = userName.substr(0, 1) + _name + userName.substr(userName.length - 1, userName.length);
$(this).html(userName);
}
})

时间: 2024-08-29 23:49:06

字符串除了第一位和最后一位中间用*替换的相关文章

求字符串中第一个只出现一次的字符

问题描述:给定一个字符串,假设字符串中只包含字母和数字,求出这个字符串中第一个只出现一次的字符. 分析:这个题目想要做出来还是比较简单的,关键是如何用高效的方法求解.这里我提供两种方法: 解法一:蛮力法.具体思想为,从第一位开始,拿每一位和后面的每一位进行比较,如果没有出现,则直接输出这个字符. 如果出现,则从第二位开始,再和后面的每一位进行比较,依次类推. 算法的时间复杂度为O(n^2). 解法二:哈希法.采用两次扫描即可实现.需要提前构建一个哈希表,把字符当成key值,把出现的次数当成val

字符串中第一个出现一次的字符(Java)

正在挑战一个CrackMe的你,把需要填写的前面几位密码都正确猜出了,可是这最后一位密码,好像藏得有点深.CrackMe的作者还挑衅般的在里面藏了个.tar.gz文件,解压缩出来,里面写道你要的最后一个字符就在下面这个字符串里.这个字符是下面整个字符串中第一个只出现一次的字符. (比如,串是abaccdeff,那么正确字符就是b了)然而下面给出来的字符串好像太长太长了,单靠人力完全无法找出来.于是,你需要写一个程序代劳了.输入文件体积较大,请使用一些快速的输入输出手段,不推荐使用cin/cout

stm32 串口发送字符串丢失第一个字节

使用stm32f103调试串口通讯时,上电后发送的字符串的第一个字节丢失. 发送数据GpuSend("SPG(2);"); 接收端收到的数据为:PG(2);,第一个字符丢失. 出现问题的代码如下: 但以前都未出现过这个问题,于是怀疑标志位处理问题 遂看到网友的解答,摘录如下 RM0033中有如下概述 两者的区别在于:往USART_DR中写数据的时候TXE直接被清零.TC清零则需要先读取USART_SR,然后写USART_DR. 解决方法: 在出现错误的代码执行之前加一句: USART_

《剑指offer》第五十题I:字符串中第一个只出现一次的字符

// 面试题50(一):字符串中第一个只出现一次的字符 // 题目:在字符串中找出第一个只出现一次的字符.如输入"abaccdeff",则输出 // 'b'. #include <cstdio> #include <string> char FirstNotRepeatingChar(const char* pString) { if (pString == nullptr) return '\0'; const int tableSize = 256; //c

32位程序下调用64位函数——进程32位模式与64位模式切换

之前学习的32位进程中调用64位进程函数的知识整理一下,也就是32位模式与64位模式之间的切换. 相关博客:http://www.cnblogs.com/lanrenxinxin/p/4821152.html 这个博客中提到了github上的开源库,我在另一份开源项目中也看到了个库,可以切换32位至64位. 如果对这个功能具体实现比较感兴趣的朋友可以看看下面的内容. 我阅读了源码并进行了注释,算是对这个具体方法的分析和学习. 关键: 1.在x64下的进程,不管是32位或者是64位,实际上都映射了

iOS上应用如何兼容32位系统和64位系统

在苹果推出iPhone5S时,64位的应用就走到了眼前.当时就看见苹果官方资料宣布iOS7.x的SDK支持了64位的应用,而且内置的应用都已经是64位. 我记得自己刚刚接触电脑时还有16位的系统,指针的寻址范围还是16位的.当年用TurboC时,还要根据应用的大小选择是tiny模式还是其他.后来很长一段时间使用32位的模型编程,4G是牢牢记住的一个边界条件.而现在,64位走到了眼前. 就如同16位转向32位一样,硬件肯定是最先推出的,SDK也会跟进,然后各种第三方的应用才会逐步跟进,这个过程一般

Java float保留两位小数或多位小数

转自:Java float保留两位小数或多位小数 方法1:用Math.round计算,这里返回的数字格式的. float price=89.89; int itemNum=3; float totalPrice=price*itemNum; float num=(float)(Math.round(totalPrice*100)/100);//如果要求精确4位就*10000然后/10000 方法2:用DecimalFormat 返回的是String格式的.该类对十进制进行全面的封装.像%号,千分

【转】在64位机上跑32位程序注意事项

原文网址:http://blog.chinaunix.net/uid-20742320-id-4744472.html 今天在交叉编译一个应用程序时,发现porting到板子上比较麻烦(nfs还没有支持),想现在PC上调试. 于是在板子上编译好,运行,发现指定的网页打不开,以为是httpd的confi有些出入,检查了下,没有错误. 在一筹莫展之际,直接在pc上运行突然发现出现segmdefault. segmdefault又是如何出现的呢? 通过file命令查看目标文件是elf64 而reade

判断身份证: 要么是 15 位, 要么是 18 位, 最后一位可以 为字母, 并写程序提出其中的年月日。

答: 我们可以用正则表达式来定义复杂的字符串格式, (\d{17}[0-9a-zA-Z]|\d{14}[0-9a-zA-Z])可以用来判断是否为合法的 15 位或 18 位身份证号码.因为 15 位和 18 位的身份证号码都是从 7 位到第 12 位为身份证为日期类型.这样我们可以设计出更精确的正则模式, 使身份证号的日期合法, 这样我们的正则模式可以进一步将日期部分的正则修改为[12][0-9]{3}[01][0-9][123][0-9], 当然可以更精确的设置日期.在 jdk 的 java.

[Java基础] Java float保留两位小数或多位小数

方法1:用Math.round计算,这里返回的数字格式的. float price=89.89; int itemNum=3; float totalPrice=price*itemNum; float num=(float)(Math.round(totalPrice*100)/100);//如果要求精确4位就*10000然后/10000 方法2:用DecimalFormat 返回的是String格式的.该类对十进制进行全面的封装.像%号,千分位,小数精度.科学计算. float price=