在 Rails 中应用输入掩码

Applying a input mask in Rails

我正在学习 Rails 并且正在为我的项目构建一个管理员 api。在视图上有一个 _form.html.erb,我需要屏蔽一些像这样的字段输入:

<div class="field">
  <%= form.label :cnpj %>
  <%= form.text_field :cnpj %>
</div>

输入值:12345678000123
输入时显示值:12.345.678/0001-23

我找到了一些涉及 js 和 jquery 插件的解决方案,但我没有设法解决它们(因为我不熟悉使用 js/jquery 插件)。屏蔽这些字段的最佳方法是什么? 提前致谢。

您将为此使用 Javascript(vanilla、jQuery、Angular、React 等)。有多种方法可以拉入 library/framework.

如果您使用的模型是公司,则表单元素 ID 将为“company_cnpj

您的元素将呈现为

<input type="text" name="company[cnpj]" id="company_cnpj">

根据使用的库,您可以设置一个基本掩码:

$(function() {
  $('#company_cnpj').inputmask({ mask: "(123) 456-7890" });
});

https://github.com/RobinHerbots/Inputmask 让您可以选择通过数据属性直接传入正则表达式。