<script>
function cur(num,chr){
var ret=num;
while(/(\d+)(\d{3})/.test(ret))ret=ret.replace(/(\d+)(\d{3})/,"$1"+chr+"$2")
return ret
}
alert(cur("12345678.9","'"))
alert(cur("1234567.8",","))
</script>
function cur(num,chr){
var ret=num;
while(/(\d+)(\d{3})/.test(ret))ret=ret.replace(/(\d+)(\d{3})/,"$1"+chr+"$2")
return ret
}
alert(cur("12345678.9","'"))
alert(cur("1234567.8",","))
</script>
解决方案 »
- js压缩后 替代 方法的问题
- ajax xmlhttp.responseText 返回boolean
- jQuery或LigerUI导致DOM结构混乱的事情大家遇到过吗?
- HTML5和Javascript作品与技术分享
- 点击TD选中checkbox
- document.write 或者div的问题
- 问大家一个JS问题!判断2个字符串格式是否相同!
- 启动tomcat没问题,可一打开jsp页面就出现下面的错误
- 如何实现在一个框架页提交另外一个框架页表单的功能
- angular引入HttpClientMoudle却找不到路径?求大神指点一下
- onScroll事件为何触发三次?
- 急,急,请问:如何用<object>的方式以javascript函数来访问applet中的方法或属性:
function strDate(str){
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
var r = str.match(reg);
if(r==null)return false;
var d= new Date(r[1], r[3]-1,r[4]);
var newStr=d.getFullYear()+r[2]+(d.getMonth()+1)+r[2]+d.getDate()
return newStr==str
}
alert(strDate("2002-1-31"))
alert(strDate("2002-2-31"))
alert(strDate("2002-1-41"))
</script>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>转换大写金额</title>
<STYLE type=text/css>
INPUT { BORDER-RIGHT: #c0d3dc 1px solid; BORDER-TOP: #c0d3dc 1px solid; BORDER-LEFT: #c0d3dc 1px solid; BORDER-BOTTOM: #c0d3dc 1px solid; font-family: verdana; HEIGHT: 19px}
BODY {font-family:arial,helvetica,Tahoma; font-size: 9pt; color:'094A82'}
</STYLE>
<bgsound id=bgsoundone src="" loop=1>
</head>
<body>
<SCRIPT LANGUAGE="VBScript">
dim hj,hji
sub document_onkeypress()
if window.event.srcelement.id="num" and window.event.keycode="13" then
call retu_cn()
end if
end sub
sub window_onload()
document.fmSubmit.t1.focus()
end sub
SUB retu_cn()
dim n,m_hj,s,ch,ch2,ch3,num
num=Replace(trim(document.fmSubmit.t1.value),",","",1,-1,1)
if num="" then
MsgBox "您还没有输入金额!"
document.fmSubmit.t1.focus()
exit sub
End If
if IsNumeric(num)=False then
MsgBox "您输入的不是金额!"
document.fmSubmit.t1.focus()
exit sub
End If
n=FormatNumber(num,2,-1)
num=n
n=Replace(n,",","",1,-1,1)
If len(n)>15 Then
MsgBox "金额必须小于千亿!"
document.fmSubmit.t1.focus()
exit sub
End If
hj=space(0)
s="840"
ch="壹贰叁肆伍陆柒捌玖"
ch2="仟佰拾 "
ch3="亿万元"
for x=1 to 3
m=cstr(int(n/10^FormatNumber(mid(s,x,1),0,-1)))
m=space(4-len(m))+m
m_hj=space(0)
if m<>" 0" then
for y=1 to 4
if mid(m,y,1)<>space(1) and mid(m,y,1)<>"0" then
m_hj=trim(m_hj+mid(ch,FormatNumber(mid(m,y,1),0,-1),1)+mid(ch2,y,1))
else
if mid(m,y,1)=space(1) or mid(m,y,1)="0" then
m_hj=m_hj
if right(m_hj,1)="零" then
m_hj=m_hj+space(0)
else
m_hj=m_hj+"零"
end if
else
m_hj=m_hj
end if
end if
next
if right(m_hj,1)="零" then
m_hj=mid(m_hj,1,len(m_hj)-1)+mid(ch3,x,1)
if x=3 then
m_hj=m_hj+space(0)
else
m_hj=m_hj+"零"
end if
else
m_hj=m_hj+mid(ch3,x,1)
end if
if right(hj,1)="零" and mid(m_hj,1,1)="零" then
hj=hj+mid(m_hj,2,len(m_hj)-1)
else
hj=hj+m_hj
end if
else
if x=3 then
if right(hj,1)="零" then
if trim(hj)="零" then
hj=hj+space(0)
else
hj=mid(hj,1,len(hj)-1)+"元"
end if
else
if trim(hj)="零" then
hj=hj+space(0)
else
hj=hj+"元"
end if
end if
else
if right(hj,1)="零" then
hj=hj+space(0)
else
hj=hj+"零"
end if
end if
end if
if n-int(n)=0 then
n=n-int(FormatNumber(m,0,-1))*10^int(FormatNumber(mid(s,x,1),0,-1))
else
tt=FormatNumber("0."+mid(cstr(n),Instr(1,n,".")+1,2),2)
n=int(n)
n=n-int(FormatNumber(m,0,-1))*10^int(FormatNumber(mid(s,x,1),0,-1))
n=n+tt
end if
next
m=mid(cstr(n),2,2)
if trim(len(m))<>2 then
m=m+"0"
end if
if n*100=0 then
if left(hj,1)="零" then
if right(hj,1)="零" then
hj=hj+"元整"
else
hj=mid(hj,2,len(hj)-1)+"整"
end if
else
if right(hj,1)="零" then
hj=mid(hj,1,len(hj)-1)+"整"
else
hj=hj+"整"
end if
end if
else
if right(hj,1)="零" then
hj=mid(hj,1,len(hj)-1)
else
hj=hj
end if
if mid(m,1,1)="0" or mid(m,1,1)=space(1) then
hj=hj+"零"
else
hj=hj+mid(ch,FormatNumber(mid(m,1,1),0,-1),1)+"角"
end if
if mid(hj,1,1)="零" then
hj=mid(hj,2,len(hj)-1)
else
hj=hj
end if
if mid(m,2,1)="0" then
hj=hj+"整"
else
hj=hj+mid(ch,FormatNumber(mid(m,2,1),0,-1),1)+"分"
end if
end if
if num=".00" then
document.fmSubmit.t1.value="0.00"
else
document.fmSubmit.t1.value=num
end if
document.fmSubmit.t2.value=""
hji=1
call read()
End Sub
SUB read()
MyVar=mid(hj,hji,1)
document.fmSubmit.t2.value=document.fmSubmit.t2.value+MyVar
Select Case MyVar
Case "零" document.all("bgsoundone").src="http://go.163.com/yjsj/wav/0.wav"
Case "壹" document.all("bgsoundone").src="http://go.163.com/yjsj/wav/1.wav"
Case "贰" document.all("bgsoundone").src="http://go.163.com/yjsj/wav/2.wav"
Case "叁" document.all("bgsoundone").src="http://go.163.com/yjsj/wav/3.wav"
Case "肆" document.all("bgsoundone").src="http://go.163.com/yjsj/wav/4.wav"
Case "伍" document.all("bgsoundone").src="http://go.163.com/yjsj/wav/5.wav"
Case "陆" document.all("bgsoundone").src="http://go.163.com/yjsj/wav/6.wav"
Case "柒" document.all("bgsoundone").src="http://go.163.com/yjsj/wav/7.wav"
Case "捌" document.all("bgsoundone").src="http://go.163.com/yjsj/wav/8.wav"
Case "玖" document.all("bgsoundone").src="http://go.163.com/yjsj/wav/9.wav"
Case "拾" document.all("bgsoundone").src="http://go.163.com/yjsj/wav/10.wav"
Case "佰" document.all("bgsoundone").src="http://go.163.com/yjsj/wav/b.wav"
Case "仟" document.all("bgsoundone").src="http://go.163.com/yjsj/wav/q.wav"
Case "万" document.all("bgsoundone").src="http://go.163.com/yjsj/wav/w.wav"
Case "亿" document.all("bgsoundone").src="http://go.163.com/yjsj/wav/y.wav"
Case "元" document.all("bgsoundone").src="http://go.163.com/yjsj/wav/yuan.wav"
Case "分" document.all("bgsoundone").src="http://go.163.com/yjsj/wav/fen.wav"
Case "角" document.all("bgsoundone").src="http://go.163.com/yjsj/wav/jiao.wav"
Case "整" document.all("bgsoundone").src="http://go.163.com/yjsj/wav/z.wav"
Case else hji=0
document.all("bgsoundone").src=""
exit sub
End Select
hji=hji+1
setTimeout "read",400
End Sub
</script>
最完整、最标准的大写金额转换程序,特别是“零”和“整”的转换,最大金额可到仟亿。
<br>
并加入了朗读功能,所以说是最完美的大写金额转换程序!
<br>
如有BUG请高手指教!!!
<form id=fmSubmit name=fmSubmit method="POST">
<p>请输入金额:<input type="text" name="T1" size="20" id="num"> <input type="button" onclick=retu_cn() value="转换大写金额" name="B1"></p>
<br> 大写金额:<input type="text" name="T2" size="55" readonly>
</form>
</body>
</html>
保证能用
<!--
function replace(str, oldStr, newStr) {
var buffer = "" ;
var length = oldStr.length;
var beginIndex = 0;
if (length > 0) {
index = str.indexOf(oldStr);
while (index >= 0) {
buffer = buffer + str.substring(beginIndex, index);
buffer = buffer + newStr;
beginIndex = index + length;
index = str.indexOf(oldStr, beginIndex);
}
}
buffer = buffer + str.substring(beginIndex);
return buffer ;
}
function checkdate(str) {
var datestr =str;
var lthdatestr=str.length ;
var tmpy="";
var tmpm="";
var tmpd="";
var status;
status=0;
var status1;
status1=0;
for (i=0;i<lthdatestr;i++) {
if (datestr.charAt(i)== '/') {
status++;
}
}
if (status>2||status==1) {
return false;
}
for (i=0;i<lthdatestr;i++) {
if (datestr.charAt(i)== '-') {
status1++;
}
}
if (status1>2||status1==1) {
return false;
}
status=0;
datestr = replace(datestr, "-", "/") if (lthdatestr== 0) {
return false;
}
for (i=0;i<lthdatestr;i++) {
if (datestr.charAt(i)== '/') {
status++;
}
if (status>2) {
return false;
} if ((status==0) && (datestr.charAt(i)!='/')) {
tmpy=tmpy+datestr.charAt(i)
}
if ((status==1) && (datestr.charAt(i)!='/')) {
tmpm=tmpm+datestr.charAt(i)
}
if ((status==2) && (datestr.charAt(i)!='/')) {
tmpd=tmpd+datestr.charAt(i)
}
}
year=new String (tmpy);
month=new String (tmpm);
day=new String (tmpd)
if ((tmpy.length!=4) || (tmpm.length>2) || (tmpd.length>2)) {
return false;
}
if (!((1<=month) && (12>=month) && (31>=day) && (1<=day)) ) {
return false;
}
if (!((year % 4)==0) && (month==2) && (day==29)) {
return false;
}
if ((month<=7) && ((month % 2)==0) && (day>=31)) {
return false;
}
if ((month>=8) && ((month % 2)==1) && (day>=31)) {
return false;
}
if ((month==2) && (day==30)) {
return false;
}
return true;
}
//-->
</SCRIPT>引用checkdate(你要校验的日期)
返回true就是正确,false就是错误