限制用户在特殊字符后编辑字符 - Jquery

时间:2015-10-12 11:01:34

标签: javascript jquery

我在HTML表单中有一个文本字段,我对它有自定义要求。

该字段将自动填充冒号(:),然后是一个8位数字。用户可以在冒号前输入字母数字字符,但应限制用户在文本字段内的冒号(:)后编辑数字。这在Jquery有可能吗?

var input_value = $('#account_no").val();
// Suppose the input_value = '123abc-123:20122015';

因此,如果用户尝试编辑冒号后的值,即' 20122015',则应对其进行限制并提醒用户。此外,旧值应保留在text_field中。这可能吗?

$('#account_number').live('input propertychange paste', function() {
  // Code to be written
}

JQuery版本:1.8.3

1 个答案:

答案 0 :(得分:1)

我尝试了一个jQuery解决方案:

我知道这是一个黑客攻击,但是我在:事件上的blur符号后进行模式匹配。

这就是我所做的:



$(document).ready(function() {
  var input_value = $("#account_no").val();
  var OriginalStr = input_value.substr(input_value.indexOf(":") + 1, input_value.length);

  //console.log(OriginalStr);
  $("#account_no").on("blur", function() {
    var val = $(this).val();

    //console.log(val);
    var substr = val.substr(val.indexOf(":") + 1, val.length);
    console.log(substr);
    if (substr !== OriginalStr)
      $("#account_no").val(input_value);
    else
      input_value = $("#account_no").val();

  });
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input id="account_no" value="123abc-123:20122015" />
&#13;
&#13;
&#13;

使用blur事件:http://jsfiddle.net/sandenay/7jk96gs7/1/

使用keyup事件:http://jsfiddle.net/sandenay/7jk96gs7/3/