JavaScript 字符串/数字左补位,右补位,取固定长度,截位扩展函数代码
有时候我们的日期等不足两位的补一个0等,都可以使用这个。
这个大家应该都很明白了,就不废话了,代码如下:
1
2
3
4
5
#!javascript
String.prototype.padLeft =
Number.prototype.padLeft = function(total, pad) {
return (Array(total).join(pad || 0) + this).slice(-total);
}
测试代码:
1
2
3
4
5
6
7
8
9
10
#!javascript
//补位
"X".padLeft(5, "Y"); //返回:YYYYX
(50).padLeft(5); //返回:00050
var x = 1;
x.padLeft(2); //返回:01
//截位
(123).padLeft(2); //返回:23
更多代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!javascript
/**
* 取子字符串
* @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;
}
-=- END -=-
本文由作者按照 CC BY 4.0 进行授权