javascript - 删除第 n 个索引值后的某些字符的正则表达式

标签 javascript jquery regex

我们正在开发一个表单验证代码片段,其中使用了 jQuery 屏蔽插件来强制验证用户输入。

与邮政编码字段一起使用的掩码模式是 99999?-9999,其中“?”之后的所有内容都是可选的。

当用户使用 chrome 中的自动填充功能填写表单时出现问题 [即双击输入字段并选择值]并提交表单。提交表单时,邮政编码值为 23455-____,其中包括屏蔽模式字符,即连字符和下划线。

使用自动填充功能后,请参阅随附的屏幕截图。 http://inft.ly/3mmtNdA

如果可选字符包含连字符 (-) 和下划线 (_),则需要在将其提交到服务器之前将其删除。我正在尝试使用正则表达式,但没有找到任何在第 5 个索引项之后检查特定字符然后删除这些字符的内容。

任何帮助都会很有帮助。

最佳答案

由于前五个字符是数字,因此您可以在捕获组中捕获它们。检查那些后面是否有 (-) 或 (_) 并替换它们。

您可以使用以下正则表达式执行此操作:

str.replace(/(\d{5})[\-_](.*)/, '$1$2');

首先您创建一个捕获组来保存前五位数字(\d{5})。然后寻找要删除的字符[\-_]。之后,您捕获字符串的其余部分 (.*)

现在您可以用捕获组 '$1$2' 替换您的字符串,您就完成了。

关于javascript - 删除第 n 个索引值后的某些字符的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30865278/

相关文章:

Tornado 处理程序上的 jquery-Ajax 调用等待先前的 ajax 调用返回

javascript - 为什么公共(public) Web 服务返回 200 OK 但没有 JSON

regex - 在Notepad++中切换列

java - 正则表达式修改字符串

javascript - 您的个人资料无法使用,因为它来自较新版本的 NW.js

javascript - 网络包。使用 `import()` 后加载 block 失败

jquery - 无法将单选按钮与文本对齐

python - 使用正则表达式识别重复字符

javascript - 解决 typescript 错误的最佳方法 - 类型上不存在属性

javascript - 表单未得到验证