12333 -> 1233-3XXX-XXXX-XXXX
12 --> 12XX-XXXX-XXXX-XXXX
2222333344445555666 ->2222-3333-4444-5555
要求如上,
四位中间加横杆,不足的用X代替。
出来的总共19(算上横杆)。请问有简单方法取得嘛?
12 --> 12XX-XXXX-XXXX-XXXX
2222333344445555666 ->2222-3333-4444-5555
要求如上,
四位中间加横杆,不足的用X代替。
出来的总共19(算上横杆)。请问有简单方法取得嘛?
我要的最好是一个.net库函数就能搞定的。。
<script language=vbscript>
Str="2222333344445555666" Tstr=""
for i = 1 to 19
M = M + 1
If Mid(Str,i,1) <> "" THEN
Tstr=Tstr + Mid(Str,i,1)
N = N + 1
Else
Tstr = Tstr + "#"
End If
IF M mod 4 = 0 THEN
Tstr=Tstr + "-"
ENd iF
NExt
alert(Tstr)
</script>
我是根据你给出例子的规律来算的
<script language=vbscript>
Str="2222333344445555666" Tstr=""
for i = 1 to 16
M = M + 1
If Mid(Str,i,1) <> "" THEN
Tstr=Tstr + Mid(Str,i,1)
N = N + 1
Else
Tstr = Tstr + "#"
End If
IF M mod 4 = 0 THEN
Tstr=Tstr + "-"
ENd iF
NExt
alert(Left(Tstr,Len(Tstr)-1))
</script>
{
if(code==null || code.Length==0)
{
return "";
}
while(code.Length<16)
{
code=code+"X";
}
if(code.Length>16)
{
code=code.Substring(0,16);
}
int i=1;
int j=0;
while(code.Length<19)
{
code=code.Insert(4*i+j,"-");
i++;
j++;
}
return code;
}
string A(string str)
{
return string.Format("{0}-{1}-{2}-{3}",(str.Length>=4)?str.Substring(0,4):str.PadRight(4,'X'),
(str.Length>=8)?str.Substring(4,4):((str.Length>=4)?str.Substring(4):"").PadRight(4,'X'),
(str.Length>=12)?str.Substring(8,4):((str.Length>=8)?str.Substring(8):"").PadRight(4,'X'),
(str.Length>=16)?str.Substring(12,4):((str.Length>=12)?str.Substring(12):"").PadRight(4,'X'));
}
CardNo &="X"
next
cardNo=CardNo.insert(4,"-")
cardNo=CardNo.insert(9,"-")
cardNo=CardNo.insert(14,"-")
return cardNo.substring(0,19)