欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JavaScript 字符串数字左补位,右补位,取固定长度,截位扩展函数代码

程序员文章站 2022-07-04 21:42:26
有时候我们的日期等不足两位的补一个0等,都可以使用这个。 这个大家应该都很明白了,就不废话了,代码如下: string.prototype.padleft =...

有时候我们的日期等不足两位的补一个0等,都可以使用这个。

这个大家应该都很明白了,就不废话了,代码如下:

string.prototype.padleft =
number.prototype.padleft = function(total, pad) {
  return (array(total).join(pad || 0) + this).slice(-total);
}

测试代码:

//补位
"x".padleft(5, "y"); //返回:yyyyx
(50).padleft(5);   //返回:00050

var x = 1;
x.padleft(2);     //返回:01

//截位
(123).padleft(2);   //返回:23

更多代码

/**
 * 取子字符串
 * @param oristr  原字符串
 * @param beginindex 取子串的起始位置
 * @param len  取子串的长度
 * @return 子字符串
 */
 public string substring(string oristr,int beginindex,int len){
 int strlen = oristr.length();
 beginindex = beginindex -1;
 if(strlen <= beginindex){
  system.out.println("out of " + oristr + "'s length, please recheck!");
 }else if(strlen <= beginindex+len){
  str = oristr.substring(beginindex);
 }else{
  str = oristr.substring(beginindex, beginindex+len);
 }
 return str;
 }
 
 /**
 * 右补位,左对齐
 * @param oristr 原字符串
 * @param len 目标字符串长度
 * @param alexin 补位字符
 * @return 目标字符串
 */
 public string padright(string oristr,int len,char alexin){
 int strlen = oristr.length();
 if(strlen < len){
  for(int i=0;i<len-strlen;i++){
  str = str+alexin;
  }
 }
 str = str + oristr;
 return str;
 }
 
 /**
 * 左补位,右对齐
 * @param oristr 原字符串
 * @param len 目标字符串长度
 * @param alexin 补位字符
 * @return 目标字符串
 */
 public string padleft(string oristr,int len,char alexin){
 int strlen = oristr.length();
 if(strlen < len){
  for(int i=0;i<len-strlen;i++){
  str = str+alexin;
  }
 }
 str = oristr + str;
 return str;
 }