当前位置: 首页 > 知识库问答 >
问题:

在邮政编码的文本框中5个字符后显示连字符-未按预期工作

杜嘉慕
2023-03-14

我需要在邮政编码的文本框中显示5个字符后的连字符。当输入5个以上字符时,将显示一个连字符(如预期的那样)。但是,当用户手动输入连字符符号时,代码应自动删除手动添加的连字符。这并不像预期的那样奏效。手动添加的连字符不会被删除。当我在browser developer tools中调试typescript代码时,我可以看到属性“zip code”中的多个连字符被删除了,但是这个变化并没有反映在UI中。

下面是typescript文件的代码:

export class AppComponent {  

  zipCode: string = '';

  public setValue(val: any) {
    if(val.indexOf('-') >= 0)
      val = val.replaceAll('-', '');
    if(val.length > 5)
      val = val.substr(0,5) + '-' + val.substr(5, val.length - 5);
    this.zipCode = val;
  }
}

下面是html文件的代码:

<input type="text" name="zipField" [(value)] = "zipCode" (input)="setValue($event.target.value)">

有人能让我知道为什么这个代码不工作。此外,请建议任何替代方法,以实现删除额外的连字符手动添加。提前道谢。

共有1个答案

闻人修明
2023-03-14

您应该传递元素本身,而不是单独传递输入

这样,您也可以更改input标记中的文本

<input type="text" name="zipField" [(value)] = "zipCode" (input)="setValue($event.target)">

然后在您的typescript文件中

export class AppComponent {  
  ...

  public setValue(element: any) {
    let val = element.value;

    if(val.contains('-'))
      val = val.replaceAll('-', '');
    if(val.length > 5)
      val = val.substr(0,5) + '-' + val.substr(5, val.length - 5);

    this.zipCode = val;
    element.value = val;
  }
}
 类似资料:
  • 我有一个字符串列表,它是从列表a中的查询返回的。 我尝试使用String utils.join将列表中的值组合成一个用逗号和引号分隔的字符串。但它并不像预期的那样工作。

  • MobaXterm 目录中文显示乱码,如下是sftp连接的情况 window是windows server 尝试修改为ascii mode也是乱码

  • 我对java servlet文件中的UTF-8有一些问题。当我在URL中获得参数值时,我对UTF-8字符有一些问题。它不能正确显示日语字符。 Jsp标头已具有 我将连接器中的URIEncoding设置添加到服务器中的UTF-8。xml。 我在jsp中编写了如下代码。 然后,我在java servlet中编写了以下代码。 我还使用请求进行了测试。setCharacterEncoding()方法,但它

  • 问题内容: 我目前正在开发一个用于验证和解析CSV文件的应用程序。CSV文件必须以UTF-8编码,尽管有时我们会以错误的编码获得文件。CSV文件很可能包含德语字母的特殊字符(Ä,Ö,Ü,ß),因为CSV文件中的大多数文本都是德语。 对于验证器,我需要确保文件是UTF-8编码的。只要不存在特殊字符,解析就很可能没有问题。 到目前为止,我尝试将文件读取为字节并使用一些库来检测(或猜测)编码。我尝试了此

  • 本文向大家介绍在Java字符串中最多显示10个字符,包括了在Java字符串中最多显示10个字符的使用技巧和注意事项,需要的朋友参考一下 要在一个字符串中最多显示10个字符,请使用Formatter类。 为Java中的Formatter类导入以下软件包- 创建一个新的Formatter对象- 现在让我们在一个字符串中最多显示10个字符- 以下是一个例子- 示例 输出结果

  • 问题内容: Linux / x86_64上的GCC 4.7是否具有默认字符编码,通过它可以验证和解码C源文件中字符串文字的内容?这是可配置的吗? 此外,将字符串文字从字符串文字链接到输出的数据部分时,它是否具有默认的执行字符编码?这是可配置的吗? 在任何配置中,源字符编码都可能与执行字符编码不同吗?(那gcc会在字符编码之间进行代码转换吗?) 问题答案: 我不知道这些选项的实际效果如何(不使用at