字符串中的onkeyup char位置

时间:2011-08-22 14:35:15

标签: javascript html

如何使用JavaScript在keypress上找到输入字符串的字符的位置?我正在尝试构建一个输入掩码,不允许用户输入超过13个字符。

3 个答案:

答案 0 :(得分:1)

我认为直接问题的答案是输入字段的selectionStart属性会告诉您插入光标的位置。

function myKeypress() {
    console.log(this.selectionStart);  // tells you where the insertion cursor is
}

通过查看selectionEnd,您可以看到是否选择了一个或多个字符,而不仅仅是一个简单的插入点。

答案 1 :(得分:0)

这样的事情可能有用:

<html>
<body>


<form>
<input type="text" name='element1' maxlength="13" />
</form>

</body>
</html>

答案 2 :(得分:0)

在浏览器中试用此代码 - 应该为您提供完成任务的工具。

<html>
<body>
<script type="text/javascript">

function getTextAreaSelection() {
  var textArea = document.getElementById('textarea1');
  if (document.selection) { //IE
      var bm = document.selection.createRange().getBookmark();
      var sel = textArea.createTextRange();
      sel.moveToBookmark(bm);

      var sleft = textArea.createTextRange();
      sleft.collapse(true);
      sleft.setEndPoint("EndToStart", sel);
      textArea.selectionStart = sleft.text.length
      textArea.selectionEnd = sleft.text.length + sel.text.length;
      textArea.selectedText = sel.text;
  }
  else if (textArea.selectionStart){ //FF
     textArea.selectedText = textArea.value.substring(textArea.selectionStart,textArea.selectionEnd);
  }

  alert("Selection Start==> " + textArea.selectionStart + "\n" +
     "Selection End  ==> " + textArea.selectionEnd + "\n" +
     "Selected Text  ==> " + textArea.selectedText + "\n" +
     "TextArea Value ==> " + textArea.value);
}

</script>

<form>
    <textarea id="textarea1">Hello world</textarea>
    <input type="button" onClick="getTextAreaSelection();return false;" value="Get Selection"/>
</form>
</body>
</html>