限制用户插入除下划线

时间:2017-09-19 06:22:49

标签: javascript html textbox

我想限制用户

  1. 插入特殊字符除了'_'下划线
  2. 插入Capitol Letters
  3. 将第一个值插入为数字
  4. 将第一个值作为特殊字符插入
  5. 插入spaces
  6. <input>

    的文本框中

    我尝试了下面的代码片段,但它没有给我1&amp;的结果。 4

    $(function() { 
    $('.alphaonly').on('input', function() { 
    $(this).val(function(i, val) { 
    return val.replace(/^\d|[A-Z\s]+/g, ''); 
    }); 
    }); 
    }) 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
    <input name="lorem" class="alphaonly">

4 个答案:

答案 0 :(得分:1)

&#13;
&#13;
$(function() {     
var haveFirst = false;
$('.alphaonly').on('keypress', function (event) {
  if( $(this).val().length === 0 ) {
     haveFirst = false;
  }
var regex = new RegExp("^[a-z0-9_]+$");
var first = new RegExp("^[a-z]+$");
var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
if(!first.test(key) && haveFirst == false){
   event.preventDefault();
   return false;
}else if(regex.test(key)){
   haveFirst = true;
}
if (!regex.test(key)) {
   event.preventDefault();
   return false;
}
}); 
}) 
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<input name="lorem" class="alphaonly">
&#13;
&#13;
&#13;

答案 1 :(得分:0)

试试这个 https://developer.android.com/training/volley/index.html

此正则表达式^ [A-Za-z0-9 _] + $仅允许带下划线的名称。

答案 2 :(得分:0)

这里我将这用于某种类型的utf-8

$("YourClassorIdOfInputOrTextField").bind("keypress", function (event) {
    if (event.charCode!=0) {
             var regex = new RegExp("^[A-Za-z0-9 _]");

        var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
        if (!regex.test(key)) {
            event.preventDefault();
            return false;
        }

    }
});

这将实现你所寻求的陌生人

答案 3 :(得分:0)

这是基于正则表达式的函数的简单替换:

function blockSpecialChar(e) {
    return /[^A-Za-z0-9._]/.test(e);
}

https://jsfiddle.net/RajKumarDubey/ko29twoh/