当前位置:首页 >> 网络编程

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

有时候我们的日期等不足两位的补一个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;
 }