本帖最后由 加菲喵 于 2015-9-10 15:57 编辑
js中对字符串的操作和处理做补充
6.3 将字符串字母统一转换为大写
可以使用字符串的[url=]toUpperCase( )方法将字符串中的所有字母转换为大写
- var data="FineReport 8.0";
- var newdata=data.toUpperCase();
- newdata 将转换为 FINEREPORT 8.0
复制代码
说明 :toUpperCase 方法对非字母字符不会产生影响。
6.4 将字符串字母统一转换为小写
[url=]可以使用字符串的toLowerCase ( )方法将字符串中的所有字母转换为小写
[/url]- var data="FineReport 8.0";
- var newdata=data.toLowerCase();
- newdata 将转换为 finereport 8.0
复制代码 说明:toLowerCase 方法对非字母字符不会产生影响。
3. 字符串的查找的另外方法
[url=]可以使用字符串的search( )方法查找当前字符串是否包含另外一个字符串(针对
regexp比较复杂的时候或者不会编写的时候)
- var str="abcDF";
- var i=str.search("D");
- alert(i);
- i将=3
复制代码 返回的i是“D”在字符串"abcDF"中索引,为第三个 0开始第一个
7.小写金额转大写
[/url]- /** 数字金额大写转换(可以处理整数,小数,负数) */
- function upDigit(n)
- {
- var fraction = ['角', '分'];
- var digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
- var unit = [ ['元', '万', '亿'], ['', '拾', '佰', '仟'] ];
- var head = n < 0? '欠': '';
- n = Math.abs(n);
- var s = '';
- for (var i = 0; i < fraction.length; i++)
- {
- s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');
- }
- s = s || '整';
- n = Math.floor(n);
- for (var i = 0; i < unit[0].length && n > 0; i++)
- {
- var p = '';
- for (var j = 0; j < unit[1].length && n > 0; j++)
- {
- p = digit[n % 10] + unit[1][j] + p;
- n = Math.floor(n / 10);
- }
- s = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s;
- }
- return head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整');
- }
复制代码 如果金额为负值 就会是“欠”xxx元
alert(upDigit(-12.234));
如果需要分之后的两个单位 毫 厘
则改为 var fraction = ['角', '分','毫','厘'];
效果为
|