`

日常JS汇总-金额自动添加分隔符

J# 
阅读更多
function currencyFormat(input,e){
        var sep = 0;
var key = '';
var i = j = 0;
        var len = len2 = 0;
var aux = aux2 = '';
var strCheck = '0123456789';
var re=/(\d{1,3})(?=(\d{3})+(?:$|\.))/g;
var whichCode = (window.Event) ? e.which : e.keyCode;//获取当前用户输入的键盘
//alert("键盘输入值="+whichCode);
if (whichCode == 13) return true;  // 如果用户输入正确返回
key = String.fromCharCode(whichCode);  // 获得用户输入的键盘值
len = input.value.length;  //获得当前文本框字符串长度
//alert("len="+len);
if (len == 0 && strCheck.indexOf(key) != -1) {
  return true; //如果文本框当前为空,输入数字,返回当前数字
}
if(len <= 2 ){
if (strCheck.indexOf(key) != -1 || whichCode == 46){//判断输入金额是否为"0123456789."

  if (whichCode == 46){//判断输入是否是"."
  if(input.value.indexOf('.') != -1){//判断文本框字符串是否已经存在"."
    return false;
  }else{
    return true;
  }
  }else{//如果不是"."输入数字字符生效
  return true;
  }
  }else{  //不是,输入键盘无效
    return false;
  }
}
        if(len > 2){//当前文本框字符串长度大于3时
    aux = input.value;
  // alert(aux);
  if (aux.indexOf('.') != -1){//判断是否带小数的金额
       var strInput = aux.split('.');
       if (strInput[0].length > 3){
         if(strInput[0].indexOf(',') != -1){
        strInput[0] = strInput[0].replace(/\,/g,"");
       }
  strInput[0] = strInput[0].replace(re,"$1,");
       }
       if (strInput[1].length <2){
         if (strCheck.indexOf(key) != -1){
          strInput[1] += key;
          }else{
          return false;
          }
       }
       input.value = strInput[0]+"."+strInput[1];
  }else{
     if (strCheck.indexOf(key) != -1 || whichCode == 46){
        if(aux.indexOf(',') != -1){
        aux = aux.replace(/\,/g,"");
        }
        aux +=key;
        aux = aux.replace(re,"$1,");
            input.value = aux;
         }else{
            return false;
         }
  }
  return false;
  }
}  
</script>

测试语句:
<input name = 'a' type='text' onKeyPress="return(currencyFormat(this,event))" onChange="">
分享到:
评论

相关推荐

    Sqoop-1.4.6 支持多分隔符

    Sqoop的1.4.6版本修改部分代码,使--fields-terminated-by支持多分隔符

    sqoop-javabean-sqoop脚本分隔符失效问题

    当我们遇到"sqoop-javabean-sqoop脚本分隔符失效问题"时,这通常意味着在使用Sqoop将数据库表数据导出到Hadoop HDFS或转化为Java Beans的过程中,预设的字段分隔符没有按照预期工作。 首先,让我们了解Sqoop的工作...

    C# SuperSocket CountSpliterReceiveFilter - 固定数量分隔符协议)不使用COMMAND

    C# SuperSocket 手把手教你入门 傻瓜教程---10...2、由于使用了CountSpliterReceiveFilter - 固定数量分隔符协议,因此KEY和BODY之间的分隔符为#,参数之间的分隔符也为#,而且字符串结尾不需要添加回车换行符\r\n。

    Word---分隔符、分页符用法4.pdf

    在Word文档编辑中,分隔符和分页符是两种重要的格式控制工具,它们主要用于组织文档结构和控制页面布局。以下是对这些概念的详细解释: **分隔符**: 分隔符是一种特殊的标记,用于在文档中设定特定的格式转换或...

    matlab开发-拆分分隔符分隔字符串到矩阵

    本文将深入探讨如何使用MATLAB来拆分由特定分隔符分隔的字符串,并将其转换为双精度矩阵。这通常涉及到MATLAB中的`strsplit`函数,它是进行字符串分割的重要工具。 `strsplit`函数是MATLAB用于字符串拆分的主要函数...

    【JavaScript源代码】vue全局实现数字千位分隔符格式.docx

    在Vue.js中,为了使大数字更易于阅读,通常会使用千位分隔符格式化。这涉及到在数字字符串中插入逗号,以便每三位数字一组进行分隔。在提供的文档中,我们看到一个名为`numberToCurrency.js`的文件,它包含了一个名...

    Word---分隔符、分页符用法[参照].pdf

    在Word文档编辑中,分隔符和分页符是两种重要的格式控制工具,尤其对于复杂的文档布局和排版,它们显得至关重要。以下是对这两个概念的详细解释和使用方法。 分隔符是一种特殊的标记,用于在文档中设定特定的格式...

    5-8无分隔符字典问题 算法分析

    无分隔符字典问题要求对给定的n和S以及正整数k,计算Lk的最大无分隔符字典。 输入: 有多组测试数据,每组一行,其上有2个正整数n和k,n£50,k£10。 输出: 输出每组的Lk的最大无分隔符字典的元素个数。

    ListView分隔符添加

    本篇将详细介绍如何在ListView中添加分隔符,以此来提高列表的可读性和用户体验。 首先,我们要理解ListView的工作原理。ListView通过复用View(即项视图)来优化性能,当用户滚动时,只显示屏幕可见的项。为了在项...

    邮件正确性过滤,自动添加分隔符程序

    ”进行分隔,而收集到的邮件却是独立的,手动添加起来非常费时费力,用此程序可快速完成该功能,并将转换后正确的与错误的邮件分别以TXT文件保存,而原始文件不变生成时可选择分隔符或自定义,生成的电子邮件可选择...

    字符处理小工具 插入分隔符 清除分隔符 计算字符串长度

    用于字符处理的小工具,可以添加分隔符,删除分隔符,自定义分隔符符号,计算字符串长度

    JS自动格式化输入的数字/千位分隔符.rar

    总之,这个压缩包提供的JS代码是关于如何利用JavaScript在用户输入数字时自动添加千位分隔符,提升用户体验,特别是在涉及货币或大量数值的场景下。通过理解并应用这些代码,开发者可以创建更加用户友好的表单界面。

    C#千位分隔符

    在给定的代码片段中,我们看到一个名为`textBox1_KeyPress`的事件处理器,它在用户输入数字时动态地在数值中添加逗号作为千位分隔符。这里的关键逻辑是检查输入字符是否为数字(ASCII值在48到57之间),然后根据当前...

    matlab开发-拆分分隔符分隔字符串到矩阵.zip.zip

    本教程将深入讲解如何使用MATLAB来拆分由特定分隔符隔开的字符串,并将其转换为矩阵形式。这一操作对于处理CSV数据、日志文件或任何其他以特定字符分割的数据流都非常有用。 首先,MATLAB提供了`strsplit`函数,它...

    逐行读取文本文件 分隔符 c#

    在给定的场景中,我们利用VS2005的FileStream功能来实现这一操作,同时考虑到文件中可能存在复杂的分隔符问题。在处理含有多种分隔符的数据时,我们需要采取特定策略确保正确解析每一行。 首先,`FileStream`是.NET...

    word如何插入分隔符和删除分隔符.docx

    Word 文档中插入和删除分隔符的方法 在 Word 文档中插入和删除分隔符是非常常见的操作,但是一些用户可能不知道如何进行这些操作。以下是 Word 中插入和删除分隔符的详细步骤。 Word 中插入分隔符的步骤 1. 首先...

    Android 自定义输入手机号自动添加分隔符

    Android 自定义输入手机号自动添加分隔符 在 Android 开发中,经常需要处理电话号码的输入,自动添加分隔符可以提高用户体验和输入效率。今天,我们将讨论如何在 Android 中自定义输入手机号自动添加分隔符。 首先...

    js代码-js实现千位分隔符

    在JavaScript编程中,千位分隔符是一种常见的格式化技巧,用于使数字更易于阅读,尤其是在处理大数字时。它会在每三位数字之间插入逗号,例如,将数字`123456789`转换为`123,456,789`。这个功能在报表、数据分析和...

    matlab开发-分析字符串使用分隔符

    本文将深入探讨如何在MATLAB中使用分隔符来分析和操作字符串,主要关注两个关键函数:`strsplit`和`tokenizedString`(在描述中未直接提及,但与字符串分隔相关)。我们将通过两个示例函数`get_tokens.m`和`get_cell...

    sql存储过程--取产品规格中分隔符中的第几项

    存储过程名称 dbo.fun_getparam_cpgg 参数: cpgg 产品规格 sdeli 分隔符 n 第几项 例如: print dbo.fun_getparam_cpgg('32*28*15','*',2) 结果为:28

Global site tag (gtag.js) - Google Analytics