如何限制不允许空格作为输入的文本区域

时间:2015-02-26 06:28:50

标签: jquery trim

我试图使用.trim()函数但它仍然允许将空格作为输入。

TA = $(' textarea')。trim();

任何帮助都非常感激:)

3 个答案:

答案 0 :(得分:2)

您可以通过检查按下的键是否为空格键并在第一时间返回false来阻止添加它,如果是这样的话:

  <script src="http://code.jquery.com/jquery-latest.min.js"
    type="text/javascript">
          ​$("textarea").on("keydown", function (e) {
          var c = $("textarea").val().length;
          if(c == 0)
              return e.which !== 32;
          });​​​​​
 </script>

Working Example

答案 1 :(得分:1)

尝试使用keyup事件

 $("#text-area").keyup(function(e){

    if(this.value.match(" ")){
        this.value = this.value.replace(" ", "");
    }

});

当你在那个textarea上输入空格时,它会删除空格。

根据您的要求尝试使用更改事件

 $("#text-area").change(function(e){
        this.value = this.value.trim();
});

答案 2 :(得分:0)

首先你的问题不清楚。我认为你正在寻找一个解决方案,在你的文本区域不允许空白区域。 然后您可以使用以下方法

<强> HTML

<textarea rows="4" cols="50" id="textarea" >

<强>的Javascript

document.getElementById('textarea').addEventListener('keydown', function (e){

  if (e.keyCode == 32) {
      e.returnValue = false;
      return false;
    }

}, false);

<强> DEMO

如果您想在开始时避免使用空白<​​/ p>

var yourstring=document.getElementById('textareaid').value;
    yourstring.trim();

<强>更新

<强> HTML

<textarea id="text1"></textarea>

<强>的javascript

$("#text1").on("keydown", function (e) {
    var len = $("#text1").val().length;
    if(len == 0)
    {
        return e.which !== 32;
    }
    else 
    {
      var pos=$("#text1").getCursorPosition();
         if(pos==0)
       {


           return e.which !== 32;

       }

    }

});

$("#text1").on("keyup", function (e) {
var pos=$("#text1").getCursorPosition();
       if(pos==0)
       {

           var values =$("#text1").val();
            if(values.charAt(0)==' ')
            {
                values=values.trim();
                $("#text1").val(values);
            }
           return e.which !== 32;

       }
});

(function ($, undefined) {
    $.fn.getCursorPosition = function() {
        var el = $(this).get(0);
        var pos = 0;
        if('selectionStart' in el) {
            pos = el.selectionStart;
        } else if('selection' in document) {
            el.focus();
            var Sel = document.selection.createRange();
            var SelLength = document.selection.createRange().text.length;
            Sel.moveStart('character', -el.value.length);
            pos = Sel.text.length - SelLength;
        }
        return pos;
    }
})(jQuery);

检查正常工作 DEMO