jQuery 遮罩插件将字符更改为减号

jQuery Mask Plugin Changing Characters to Minus Sign

我有以下 jQuery Mask 插件的程序:

<!DOCTYPE html>
<html>
<head>
   <script src="https://code.jquery.com/jquery-3.5.1.min.js"
   integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0="
   crossorigin="anonymous"></script>
   <script src="./scripts/jquery.mask.js"></script>
   <script>
      // https://learn.jquery.com/using-jquery-core/document-ready/
      $(document).ready(
         function () {
            $("#ssnId").mask("999-99-9999");
         }
      );
   </script>
</head>
<body>
   SSN:<br />
   <input type="text" id="ssnId" name="ssn" />
</body>
</html>

当我清空 SSN 文本字段并输入测试模式时,例如
33岁
33=
33(
33+

33G
最后一个字符变为减号并且
33--
成为输出。
(注意最后输出有两个负号)

有什么方法可以让 jQuery Mask 插件停止将我的测试模式的最后一个字符更改为“--”?

备注:

  1. 我正在使用在 https://plugins.jquery.com/mask/
  2. 找到的 jQuery Mask 插件的 v1.7.7
  3. 请避免讲授处理 PII 和 SSN 数据的最佳安全实践,因为我仅以 SSN 为例。

试着让你的面具使用 # 而不是 9

$("#ssnId").mask("###-##-####");

并且还将 maxlength 添加到输入标签中:

<input type="text" id="ssnId" name="ssn" maxlength="11" />

<!DOCTYPE html>
<html>
<head>
   <script src="https://code.jquery.com/jquery-3.5.1.min.js"
   integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0="
   crossorigin="anonymous"></script>
   <script src="https://cdn.jsdelivr.net/npm/jquery-mask-plugin@1.14.16/dist/jquery.mask.min.js"></script>
   <script>
      // https://learn.jquery.com/using-jquery-core/document-ready/
      $(document).ready(
         function () {
            $("#ssnId").mask("###-##-####");
         }
      );
   </script>
</head>
<body>
   SSN:<br />
   <input type="text" id="ssnId" name="ssn" maxlength="11" />
</body>
</html>