thymeleaf中常用的金额、数字、百分比、手机号校验及对应java中的格式化

2023-11-15

thy中常用的金额、数字、百分比

金额格式化:

格式化为1000,000,000.23元的样式

{
    field : 'amount',
    title : '金额(元)', align : 'right',
    formatter : function (value , row, index) {
        return formatMoney(value);
    }
},
/**
 * 把金额格式成为每三位一逗号分隔,显示小数位数自己定义,默认是两位
 * @param value 金额
 * @param type 小数位数, 默认是两位小数
 * @returns {*}
 */
var formatMoney = function (value, type) {
    if (value == null || value == '') {
        return '';
    }
    if (type == null || type == '') {
        type  = 2;
    }
    return value.toFixed(type).replace(/(\d)(?=(\d{3})+\.)/g, '$1,');
};

百分比-BigDecimal

//费率,保留一位小数
projectBean.setRate(rate.multiply(BigDecimal.valueOf(100)).setScale(1));

html页面的占比

在html页面处理rate不推荐,最好还是在后头或者js中处理,下面这个作为了解,使用的是numbers.formateDecimal方法

 <label class="col-sm-3 control-label">占比:</label>
 <div class="col-sm-8">
       <input id="rate" name="rate"
              th:value="${#numbers.formatDecimal(rate*100,2,1)}+'%'"
              class="form-control" type="text" readonly>

产生任意的字母+3位数字

    /**
     * 时间格式化
     */
    protected static final SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");

    /**
     * 产生唯一 的序列号。
     * 
     * @return String
     */
    public static String getSerialNumber() {
        /*int hashCode = UUID.randomUUID().toString().hashCode();
        if (hashCode < 0) {
            hashCode = -hashCode;
        }
        String hashCodeString = String.valueOf(hashCode);
        */
        String chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        String num = "0123456789";
        String randomChar = String.valueOf(chars.charAt((int)(Math.random() * 26)));
        String randomNum = String.valueOf(num.charAt((int)(Math.random() * 10)))+String.valueOf(num.charAt((int)(Math.random() * 10)))+String.valueOf(num.charAt((int)(Math.random() * 10)));
        return sdf.format(DateUtil.getNow()).substring(2, 6)+randomChar + randomNum;
    }

数值占比-BigDecimal的除法

    //占比
    BigDecimal productAccount = productDO.getProductAccount();
    BigDecimal assetAmount = internalAssetDO.getAssetAmount();
    if (productAccount != null && assetAmount != null) {
          //保留占比两位小数
          productDO.setProductAssetScale(productAccount.divide(assetAmount,2,BigDecimal.ROUND_HALF_UP));
    }

手机号、身份证格式

$(".mobilePhone").blur(function () {
    var str = $(this).val();
    if (str != "" && str != null) {
        var re = /^1\d{10}$/;
        if (!re.test(str)) {
            $(this).val("");
            alert("手机号格式不正确");
            return;
        }
    }
});
$(".cardid").blur(function () {
    var str = $(this).val();
    if (str != "" && str != null) {
        var re = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
        if (!re.test(str)) {
            $(this).val("");
            alert("身份证格式不正确");
            return;
        }
    }
});

input输入过程中校验数字

<div class="col-sm-3">
<input id="personBankNumber2" name="bankNumber" class=" bankno" type="text" required>
 <span class="personBankNumber2Validate" style="color: red;" ></span>
 </div>
//个人放款银行账号输入校验,没有数据时输入
$(".bankno").blur(function () {
    var str = $(this).val();
    if (str != "" && str != null) {
        var re = /^[0-9]\d{10,19}$/;//这里表示的是11位到20位的都接受
        if (!re.test(str)) {
            $(this).val("");
            $(this).siblings(".personBankNumber2Validate").html("请输入正确银行卡号")
        }else {
            $(this).siblings(".personBankNumber2Validate").html('');
        }
    }else{
        $(this).siblings(".personBankNumber2Validate").html('');
    }

});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

thymeleaf中常用的金额、数字、百分比、手机号校验及对应java中的格式化 的相关文章

随机推荐

  • 算力还是服务器?这不是一道选择题

    关注我们牛年牛气冲天 算力 顾名思义就是设备的计算能力 它无影无形 虽然看不见 摸不到 却真实存在 小到智能手机 PC 大到服务器 超级计算机 算力就 藏 存各种各样的硬件设备中 像沉睡的金矿 等待你去挖掘 算力 说了算 在云计算时代 一切
  • [荐]硕博经验——科研论文阅读与写作实战技巧

    又转自西电好网 http bbs xdnice com b99t378538 htm硕博经验 转来的 早知道就好了 少走很多弯路啊 该文从 举止优雅的猪 那里看见的 感觉很不错 不过我感觉到了博士才知道这些似乎有点晚了 或者是有不少人也不会
  • 21.openssl编程——EVP

    21 1 EVP 简介 Openssl EVP high level cryptographic functions 提供丰富的密码学中的各种函数 EVP主要封装如下功能函数 a 实现了base64编解码BIO b 实现了加解密BIO c
  • Android Studio 界面显示不全问题

    最近想试试google的android studio开发工具 安装完成后 按照向导新建一个工程 发现向导界面太大 整个屏幕显示不过来 调整界面大小也无法搞定 我用的是ubuntu系统 笔记本分辨率为1366 768 上网百度了好多 发现不少
  • redis集群设置密码

    注意事项 1 如果是使用redis trib rb工具构建集群 集群构建完成前不要配置密码 集群构建完毕再通过config set config rewrite命令逐个机器设置密码 2 如果对集群设置密码 那么requirepass和mas
  • Prometheus 安装及应用(内容较全面)

    prometheus 安装及应用 prometheus 官网 grafana dashboards 模板 prometheus 参考示例 Prometheus普罗米修斯 希腊神话人物 是一个开源的系统监控和告警系统 在kubernetes容
  • 较完整的koa2项目结构实例、脚手架-mysql,gulp

    koa2 starter A koa2 starter by using mysql gulp includes async await pm2 express style middlewares Based on 17koa koa2 d
  • 什么是LDO的线性调整率和负载调整率?

    原文来自公众号 工程师看海 后台回复 LDO仿真文件 LDO是常见的电源架构 线性调整率和负载调整率是两个重要的参数 线性调整率 line regulation 指的是 在特定负载电流条件下 当出入电压变化时 引起的对应输出电压的变化量 从
  • 华为OD题目: 简单的解压缩算法

    华为OD题目 简单的解压缩算法 知识点栈 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 现需要实现一种算法 能将一组压缩字符串还原成原始字符串 还原规则如下 1 字符后面加数字N 表示重复字符N次 例如 压缩内容为A3 表
  • 以太坊如何通过构建智能合约来销售商品?

    如何通过构建以太坊智能合约来销售商品 这是个问题 毫无疑问 比特币已经改变了我们看待和理解什么是金钱 价值以及最近由智能合约产生的所有权的方式 这很有趣 因为几乎每个人都听说过它或加密货币 来自许多业务领域的人 不仅仅是我们 IT工作者 在
  • %f %.2f %lf %.2lf的含义

    f表示单精度浮点型 float 默认保留 lf表示双精度浮点型 double 默认保留6位 2表示只保留小数点后两位数 下面举例 include
  • Attention机制的解释

    The Illustrated Attention Attention Seq2Seq 是一种由Encoder和Decoder组成的结构 可以将输入转化成一种中间形态并在Decoder输出 而Attention则是解决方案 经典的是Bahd
  • 设计模式:简单工厂、工厂方法、抽象工厂

    参考 Java设计模式之创建型 工厂模式详解 简单工厂 工厂方法 抽象工厂 知乎 工厂方法 以生产手机为例 具体的UML图如下 这种方法的优点是对于用户来说 不再需要面对具体的生产逻辑 只需要将生产的安排工作和细节都交给工厂类去做 缺点是在
  • MATLAB算法实战应用案例精讲-【深度学习】ECANet注意力机制(附Python实现代码)

    目录 前言 算法原理 算法思想 局部跨通道交互 Local Cross Channel Interaction
  • python批量复制文件问题,Python—批量复制文件

    批量复制文件 并修改后缀名 import os shutil yml文件根路径 ymlroot E GTEA gaze 原始图片根路径 srcroot E GTEA Gaze Dataset png 目标图片根路径 dstroot E Ga
  • Hadoop命令大全

    Hadoop命令大全 1 列出所有Hadoop Shell支持的命令 bin hadoop fs help 2 显示关于某个命令的详细信息 bin hadoop fs help command name 3 用户可使用以下命令在指定路径下查
  • C++入门编程之成语接龙

    成语接龙问题 问题描述 题目描述 成语接龙是中华民族传统的文字游戏 它有着悠久的历史 也有广泛的社会基础 是老少皆宜的民间文化娱乐活动 请设计四字成语接龙游戏 功能需求 1 计一个四字成语类Idiom 包含成语内容 首字母的拼音 末尾字母
  • validation校验包常用校验注解@NotEmpty,@NotBlank,@NotNull等注解

    一 常用注解 NotEmpty NotBlank NotNull介绍 包位置 javax validation constraints xxx NotEmpty 用在集合上面 一般用来校验List类型 不能注释枚举 而且长度必须大于0 No
  • 用socket实现简单的http服务器功能

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 用最基本的socket实现http服务器的功能 上代码 import java io import java util import java net public cla
  • thymeleaf中常用的金额、数字、百分比、手机号校验及对应java中的格式化

    thy中常用的金额 数字 百分比 金额格式化 格式化为1000 000 000 23元的样式 field amount title 金额 元 align right formatter function value row index re