首页
精品网站
艺术设计
网络学院
信息中心
求职招聘
网站综合
服装网站
编程开发
设计论坛
投稿
我要上榜
设计资源站
平面设计
画册
VI欣赏
包装
CG-插画
搜索
个人网页
Alexa排名
CSS
建站资源
下载专区
JS特效
品牌服装
服装院校
专题欣赏
SEO
图标欣赏
专题
域名注册
虚拟主机
广州网站设计
域名注册
广州网站建设
上海网站建设
虚拟主机
广州网页设计
虚拟主机
域名注册
acg王国
ACG玩家
当前位置:
网站综合首页
>>
网页JS特效
>>
浏览器窗口
>> 2例关于金额转换的问题的JS特效
2例关于金额转换的问题的JS特效
网站色彩搭配讲解
跟我探索网站排名的捷径
网页banner设计欣赏
网站装饰图标设计欣赏
设计赛事集合
ACG王国
来源:
中国设计秀
作者:
佚名
点击:
78
加入收藏
发表评论
0
顶一下
关键字:
金额
问题
特效
网页特效
代码如下,点击运行可查看效果:
<script language="JavaScript"> var stmp = ""; function nst(t) { if(t.value==stmp) return;//如果等于上次输入则返回 var ms = t.value.replace(/[^\d\.]/g,"").replace(/(\.\d{2}).+$/,"$1").replace(/^0+([1-9])/,"$1").replace(/^0+$/,"0"); //replace(/[^\d\.]/g,"")去掉输入当中不是数字和.的字符 //replace(/(\.\d{2}).+$/,"$1") //匹配从字符开始的第一个.后面的所有字符,由于没有使用g标记, //所以只匹配开始第一次 然后用小数点和后两位进行替换以确定数值最后的格式正确 高. //replace(/^0+([1-9])/,"$1") 匹配以多个0开头的数值替换为去掉0后的数值做为数字的第一位 也是匹配开始的一次. //replace(/^0+$/,"0") 匹配以0开始和结束的多个0为一个0 也就是0000000 输入->转换成一个0 //以下确定输入的为过滤后的合法数字 //alert(ms); var txt = ms.split("."); //alert(txt[0]); //如果ms值不小数点存在则txt[0]=小数点前的值否则等于ms //regexp:/\d{4}(,|$)/ 匹配四位数字和,的集合或者四位数字和字符结尾的集合 while(/\d{4}(,|$)/.test(txt[0]))//如果为txt[0]=4123 txt[0] = txt[0].replace(/(\d)(\d{3}(,|$))/,"$1,$2"); //txt[0].replace(/(\d)(\d{3}(,|$))/,"$1,$2")是将txt[0]进行替换后再赋给它 //regexp:/(\d)(\d{3}(,|$))/ 将四个数字份为两组第一个数字为第一位,后三位和其他结尾为每二位 //并替换成 第一位,第二位 注意 ,的使用很好. 也就是将4123先替换成4,123 //由于此表达式默认采用贪婪匹配所以从数值后向前匹配再通过循环进行再匹配替换从而可以将 //12345678分成你想要的123,456,78 楼主彩用(,|$)很精典,因为它略去了第二次匹配时的,问题 t.value = stmp = txt[0]+(txt.length>1?"."+txt[1]:""); //最终赋值到输入框中 //如果有小数点则加上并购成最终数字否则显示替换后的txt[0] bbb.value = number2num1(ms-0); //将ms转换为数字送到number2num1去转换 } function number2num1(strg) { var number = Math.round(strg*100)/100; //先进行小数位数转换也就是四舍五入由于上面已限定了小数位可不用 number = number.toString(10).split('.');//转换成十进制字符并用小数点隔开 var a = number[0];//取小数点前的值如果有小数点则取它前面的否则取这个数值 if (a.length > 12)//判断是否超过了计算范围 return "数值超出范围!支持的最大数值为 999999999999.99";//退出 var e = "零壹贰叁肆伍陆柒捌玖"; var num1 = ""; var len = a.length-1; for (var i=0 ; i<=len; i++)//按单个数字逐个进行遍历 num1 += e.charAt(parseInt(a.charAt(i))) + [["圆","万","亿"][Math.floor((len-i)/4)],"拾","佰","仟"][(len-i)%4]; //e.charAt(parseInt(a.charAt(i)))将所选数字对应到相应的大写数组下标并取出大写值 //[["圆","万","亿"][Math.floor((len-i)/4)],"拾","佰","仟"][(len-i)%4] // ["圆","万","亿"][Math.floor((len-i)/4)]如果小于4位显示 "圆" // 如果大于4位小于8位则显示 "万" // 如果大于8位则显示 "亿" //由上面得到一个新数组 -> 如果小于4位显示 ["圆","拾","佰","仟"] // 如果大于4位小于8位则显示 ["万","拾","佰","仟"] // 如果大于8位则显示 ["亿","拾","佰","仟"] // [(len-i)%4] 得到相应的所属下标 分别得到 "圆","万","亿","拾","佰","仟 //下面处理小数点后的数值 if(number.length==2 && number[1]!="") { var a = number[1];//得到.后数值 for (var i=0 ; i<a.length; i++) num1 += e.charAt(parseInt(a.charAt(i))) + ["角","分"]; } //以上完成后再进行正则过滤掉一些重复字符 num1 = num1.replace(/零佰|零拾|零仟|零角/g,"零");//全局替换零 num1 = num1.replace(/零{2,}/g,"零");//替换2个以上零为一个零 num1 = num1.replace(/零(?=圆|万|亿)/g,"");//替换零圆,零万,零亿,中的零为空 num1 = num1.replace(/亿万/,"亿");//替换亿万为亿只替换第一次 num1 = num1.replace(/^圆零?/,"");//替换字符串中开始的圆零为空此匹配为非贪婪匹配.适用于.57转换时 //如果要最终数值不为空并且该串结尾不为"分"结尾则加一个"整字" if(num1!="" && !/分$/.test(num1)) num1 += "整"; return num1; } /* 以上是我对海浪的源码的理解不当之处还请指正. -----------shiwei2006 2007 04-11 11:00-------------- */ </script> <!--按键弹起时触发转换事件--> 小写金额:<input type="text" name="aaa" onkeyup="nst(this)"><br> 大写金额:<input type="text" name="bbb" size=80>
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
金钱算法2:
代码如下,点击运行可查看效果:
<script> function cc(s){ if(/[^0-9\.]/.test(s)) return "invalid value"; s=s.replace(/^(\d*)$/,"$1."); s=(s+"00").replace(/(\d*\.\d\d)\d*/,"$1"); s=s.replace(".",","); var re=/(\d)(\d{3},)/; while(re.test(s)) s=s.replace(re,"$1,$2"); s=s.replace(/,(\d\d)$/,".$1"); return "¥" + s.replace(/^\./,"0.") } </script> <input onchange="this.value=cc(this.value)">
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
2008-06-26 00:21:00 出处:
中国设计秀cnwebshow.com
本文引用地址:
http://www.cnwebshow.com/site/html/article_2346.html
热点文章/相关文章
KUGOO首页展示效果
网页设计中字体及字体大小的匹配控制
运用filter做广告渐近渐显效果.
动画效果鼠标点击打开/关闭层
最新文章
·
2例关于金额转换的问题的JS特效
·
js特效仿页面中IE头部警告提示.
·
防止屏蔽,背投广告代码的完善
·
减轻JavaScript测试和调试负担
·
获取当前系统字体
·
网页自动转向代码
·
如何防止robot骚扰你的网页
·
弹出浏览器的版本信息
·
JavaScript实现发表留言添加表...
·
总在右上角旋转显示的文本
艺术设计秀最新图片
Karla Pamanes包装...
Charis插画艺术设...
希腊设计机构平面...
spd包装设计作品欣赏
FREYA个性插画设计...
德国平面大师乌韦...
推荐文章
·
防止屏蔽,背投广告代码的完善
素材下载
矢量
潮流素材
背景素材
模板
网站地图
|
关于我们
|
联系我们
|
网站建设
|
广告服务
|
版权声明
|
免责声明
|
网站公告
|
友情链接
|
留言
|
旧版入口
Copyright © 2005-2008
中国设计秀_网页设计秀_艺术设计秀_网页设计教程_网站建设作品_平面设计欣赏_包装设计欣赏_品牌网站建设
All Right Reserved.
做最专业的设计服务网站,秀出自我,秀出精彩!
中国设计秀,秀---无处不在!!
交流群:9107036 3848215 8850631
粤ICP备05067046号