将输入值中的中文逗号自动变为英文逗号(TS)

一、次需求的TS与JS写法

1、TS写法

formData.append("map_effect_files",

JSON.parse(JSON.stringify(data.map_effect_files.replace(/,/g, ","))));

 这样一段代码后面加上.replace(/,/g, ",")这个就可以实现了

2、JS写法

1. 使用JavaScript的`replace()`方法和正则表达式,将所有的中文逗号替换为英文逗号。

var inputValue = formData.get("map_effect_files");

var re = /,/g; // 正则表达式匹配中文逗号

inputValue = inputValue.replace(re, ','); // 将中文逗号替换为英文逗号

2. 将替换后的值重新设置回`formData`中。  

formData.set("map_effect_files", inputValue);

这样,无论用户输入的是中文逗号还是英文逗号,通过这段代码,都会将中文逗号转换为英文逗号。

 二、这样就突然忘记了ts与js之间的区别(TS与JS区别)

TypeScript(TS)是JavaScript(JS)的一个超集,也就是说,它包含了JS所有的语法和特性,并且通过添加静态类型系统和一些额外的功能来扩展JS。

以下是TS与JS之间的几个区别:

1. 静态类型系统:TS引入了静态类型系统,可以在开发过程中对变量、函数参数、返回值等进行类型注解。这样可以在编译时发现一些常见的类型错误,提前捕获并修复它们,从而减少运行时错误。

2. 类与接口:TS支持类和接口的概念。你可以定义类和继承关系,并且可以使用接口来定义对象的结构和行为。这提供了更好的面向对象编程支持,并使得代码更易于组织和维护。

3. 编译时类型检查:TS在编译时对代码进行类型检查,能够检测出潜在的类型错误。这可以帮助开发人员在编写代码时更早地发现问题,避免一些常见的错误。

4. 类型推断:即使你没有显式地给变量注解类型,TS也会根据上下文推断出变量的类型。这可以减少一些重复的类型注解,提高开发效率。

5. 支持最新的ES特性:TS从ES6开始支持最新的JavaScript语法和特性,并且还提供了一些额外的功能,如元组、枚举、泛型等。

6. 工具支持:TS拥有强大的开发工具支持,包括代码编辑器的自动补全、代码导航、重构等功能。它也与主流的开发IDE(如Visual Studio Code)紧密集成。

总的来说,TypeScript通过添加静态类型系统和其他一些功能扩展了JavaScript,使之更适合大型项目的开发,并提供了更好的工具和开发体验。对于需要更强类型检查和更好可维护性的项目,TS是一个非常有价值的选择。

三、这样的话就不得不说正则表达式了

正则表达式是一种用于描述和匹配文本模式的工具,可以用于查找、替换和验证字符串。

正则表达式还支持一些特殊字符和元字符,如

点号(.,匹配任意字符)、

星号(*,匹配前面的字符零次或多次)、

问号(?,匹配前面的字符零次或一次)等等


 formData.append("map_effect_files", JSON.parse(JSON.stringify(drawerProps.value.row.map_effect_files.replace(/,/g, ",")))); formData.append("map_production_files", JSON.parse(JSON.stringify(drawerProps.value.row.map_production_files.replace(/,/g, ","))));

  •   .replace 是 JavaScript 中字符串对象的一个内置方法,用于替换字符串中的文本。
  • 正则表达式 /,/g 斜杠(/)是正则表达式的分隔符,"" 是我们要匹配的模式。

  • 修饰符 "g" 可以使正则表达式执行全局匹配,即在整个文本中查找所有匹配的模式

  • 15
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
这个问题可能是输入法造成的。当输入中文逗号或感叹号时,输入法会自动将它转换成中文标点符号,这可能会导致光标位置的改变。 你可以尝试在TextBox的KeyDown事件处理这个问题。首先,判断输入法是否处于中文状态,如果是,则暂时禁用输入法的自动转换功能。然后,在TextBox插入逗号或感叹号,并将光标位置调整到正确的位置。 以下是一个示例代码: ``` private void textBox1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyData == (Keys.Control | Keys.Oemcomma)) // 按下 Ctrl + , 输入中文逗号 { if (InputLanguage.CurrentInputLanguage.LayoutName.Contains("中文")) // 判断输入法是否为中文 { e.SuppressKeyPress = true; // 禁止输入自动转换 int selectionStart = textBox1.SelectionStart; // 记录当前光标位置 textBox1.SelectedText = ","; // 插入中文逗号 textBox1.SelectionStart = selectionStart + 1; // 将光标位置调整到正确的位置 } } else if (e.KeyData == (Keys.Control | Keys.OemPeriod)) // 按下 Ctrl + . 输入中文感叹号 { if (InputLanguage.CurrentInputLanguage.LayoutName.Contains("中文")) // 判断输入法是否为中文 { e.SuppressKeyPress = true; // 禁止输入自动转换 int selectionStart = textBox1.SelectionStart; // 记录当前光标位置 textBox1.SelectedText = "!"; // 插入中文感叹号 textBox1.SelectionStart = selectionStart + 1; // 将光标位置调整到正确的位置 } } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值