有没有办法检测和更改输入值格式?

时间:2015-07-23 18:30:59

标签: javascript

我正在使用正则表达式检查并验证文本区域值 我想改变这样的格式化: 用户输入:

123456

更改为:

12/34/56

这可以用纯粹的js来完成吗?

编辑:

这就是我所做的:

 function changeIt() {
  var inputChanger = document.getElementById("id").value.replace(something , something);
  document.getElementById("id").value = inputChanger;
}

但不知道如何继续

1 个答案:

答案 0 :(得分:1)

尝试这样的事情:

注意:要使此代码正常工作,HTML必须在JavaScript之前,但堆栈溢出显然需要重新排序代码片段以始终首先显示JS(?)

var input = document.getElementById('my-input');

function format() {
  // \d matches a digit, 
  // parenthesis let you use the matched values as $n in the replacement string
  input.value = input.value.replace(/(\d\d)(\d\d)(\d\d)/, '$1/$2/$3');
}

// you probably only need one of these, but it doesn't hurt to have both
input.addEventListener('change', format);
input.addEventListener('keyup', format);
<input type="text" id="my-input" />

当然,它也可以用一些jQuery和一个像http://jquery-plugins.net/maskjs-jquery-plugin-to-mask-inputs这样的插件来完成 - 但是我认为即使你最终走这条路也能理解幕后发生的事情。