首页 > 解决方案 > 在 javascript 中使用正则表达式格式化输入文本

问题描述

我需要像这样格式化输入文本:2342452-1。输入七个数字后,我需要添加一个破折号 (-),然后再添加一个数字。在 javaScript 中是否有一种简单的方法可以做到这一点?

标签: javascriptjqueryregexhtml

解决方案


您可以检查长度并用于indexOf查找此字符串是否包含“-”

function maskinput(e) {
  if (e.target.value.length > 7 && e.target.value.indexOf('-') === -1) {
    let substring1 = e.target.value.slice(0, 7),
      substring2 = e.target.value.slice(7, e.target.value.length);
    e.target.value = substring1 + '-' + substring2;
  }
}
<input type='text' onkeyup='maskinput(event)'>


推荐阅读