javascript - 在值中插入特殊字符

标签 javascript regex input textfield

我在 ExtJS 中有一个面板表单,里面有一个文本字段,我试图在此文本字段中的 * 之前插入一个 . 符号。我有一个按钮,可以将值从此文本字段发送到服务器并返回结果。

在我的代码中,我检查字符串是否包含 * 符号,然后将此文本字段中的 . 插入其中。

我现在拥有的示例:我在文本字段中输入 *test* 我的代码将其转换为 *test.*。我需要的是 .*test.*.

如果我在文本字段中输入 *t*st*,我需要 .*t.*st.* 作为结果。

如何在值字符串中的每个 * 符号之前插入 . 符号?

fieldLabel: 'name',
name: 'name',
submitValue: true,
enableKeyEvents: true,      
  getSubmitValue: function () {
   var value = this.getValue();
   var format = /[*]+/; 
   let valTrimmed = value.slice(0, value.length -1); 
   var ts = '';
     if(format.test(value)){
     ts = valTrimmed + '.*';
     return ts;
 }              
  return value; 
}

最佳答案

看来您可以简单地替换每个 *与自身和 .在前面使用

getSubmitValue: function () { 
  return this.getValue().replace(/\*/g, '.$&'); 
}

请注意/\*/g正则表达式匹配 * 的所有出现(转义,因为它是一个特殊的正则表达式元字符)和 $&替换模式中指的是整场比赛。

关于javascript - 在值中插入特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65491455/

相关文章:

css - 跨浏览器的输入 css 渲染不一致

javascript - HTML,CSS。 mouseout 时将 div 背景颜色恢复为原始颜色(使用 bg img)

regex - Apache RewriteCond 中变量的负比较

c - 如何从控制台获取密码字符,但将它们显示为星号

java - 如何替换正则表达式中的重复?

objective-c - 如何从 OSSpinLock 迁移到 os_unfair_lock()?

c++ - 有没有办法检查过剩 key 缓冲区?

javascript - 电子邮件被回复给收件人而不是发件人或回复地址

javascript - 如何在jsfiddle中创建面板?

javascript - 在运行时更新使用 Three.js 创建的 3D 圆柱体的高度/半径