粘贴不同行为的jQuery输入vs textarea

时间:2013-08-16 02:16:19

标签: javascript jquery

我一直在努力通过粘贴输入找到解决此问题的明确解决方案。

我的输入上有以下正则表达式控件

var match = str.match(/^[^,]*,[^,]*,.*$/mg);

您可以在以下演示链接中查看其用法示例。我的问题是当我粘贴像

这样的内容时
123, john smith, jack david
321, jackie ronal, david blah

进入输入字段,我将整个内容作为单个条目获取,而在文本框中,它会识别新行,这正是我要查找的内容(正如你在我所演示的演示中所看到的那样。)

现在,任何人都可以给我一个很好的解决方案,用输入字段解决这个问题会很好,否则如果我必须使用textarea我需要找到一种方法来隐藏textarea边框但是据我所知,没有跨浏览器解决方案可以很好地完成它(隐藏所有边框并在所有浏览器中调整图标大小)。

这是演示

http://jsfiddle.net/TCMcp/3/

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:-1)

demo

您可以使用具有contenteditable设置为true的div而不是输入(这在技术上是不正确的,但提供对IE的支持)。示例样式可以在小提琴中找到。

<div contenteditable="true" id="input"></div>

然后我们可以使用JavaScript获取文本内容。

$('#input').on('paste', function () {
    setTimeout(function () {
        var str = $('#input').text();
        jsprint("pasted", str);
        $('#input').text(str); 
        var match = str.match(/^[^,]*,[^,]*,.*$/mg);             

    }, 100);
});