Jquery仅在按键上允许字符之间的空格

时间:2018-02-12 05:53:45

标签: javascript jquery regex

您好如何仅在单词之间允许空字符。我已经尝试了,但不允许在任何地方使用空字符。

Jquery的

 $('#txtName').keypress(function (e) {
        var regex = new RegExp("^[a-zA-Z0-9_ ]*$");
        var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
        if (regex.test(str)) {
            return true;
        }
        else
        {
        e.preventDefault();
        alert('Please Enter Alphabet');
        return false;
        }
    }); 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="txtName">

用于名称验证。感谢。

2 个答案:

答案 0 :(得分:1)

使用此模式:

/(\s{2,})|[^a-zA-Z']/g

$('#txtName').keypress(function(e) {
  var $this = $(this);
  $(this).val($this.val().replace(/(\s{2,})|[^a-zA-Z0-9_']/g, ' ').replace(/^\s*/, ''));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="txtName" />

来自 JSFiddle

答案 1 :(得分:0)

使用Trim()方法,使用此方法,您可以删除字符串的第一个和最后一个空格中的任何空格,然后将其等于nullwhite-space Online demo

如果您只想使用/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g的正则表达式,则可以在字符串的第一个和最后一个中获得任何空格,然后不等于nullwhite-space Demo < / p>

有关详细信息,请参阅this