首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何仅为字母启用onpaste

如何仅为字母启用onpaste
EN

Stack Overflow用户
提问于 2013-03-27 20:30:55
回答 4查看 2.6K关注 0票数 6

我有一个任务是禁用pasting.Only中的文本框必须允许粘贴字母字符。我的代码是

代码语言:javascript
复制
<b>Name</b>
<input type="text" id="name" onpaste="return false"/>

通过赋予onpaste="return false“,不会粘贴任何值。我该如何解决这个问题?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-03-27 21:43:46

试试这段代码

代码语言:javascript
复制
$(".alphabetOnly").bind('paste', function(e) {
  var self = this;
  setTimeout(function(e) {
    var val = $(self).val();
    if (val != '0') {
      if (val.match(/^[0-9]+$/) != null) {
        $(".alphabetOnly").val("");
      }
      $(this).val(val);
    }
  }, 0);
});

我已经更新了代码here

票数 7
EN

Stack Overflow用户

发布于 2013-03-27 20:34:26

之前犯过一些错误,这是有效的:

代码语言:javascript
复制
$('#name').bind('paste', function(){
    var self = this;
    setTimeout(function() {
        if(!/^[a-zA-Z]+$/.test($(self).val()))
            $(self).val('');
    }, 0);    
});

您必须从您的html中删除onpaste="return false"

可以在这里找到一个可用的示例:JS Fiddle

票数 2
EN

Stack Overflow用户

发布于 2018-01-12 12:52:25

此代码限制粘贴输入字段中除数字之外的其他字符field.On将值粘贴到输入字段,我正在使用正则表达式测试该值,如果条件为真,将设置该值,否则我将清空输入value.In我必须限制除数字之外的其他字符,您可以根据需要更改正则表达式

代码语言:javascript
复制
$(".numbersOnly").bind('paste', function(e) {
        var self = this;
        setTimeout(function(e) {
            var val = $(self).val();
            if (val != '0') {
                var regx = new RegExp(/^[0-9]+$/);
                if (!regx.test(val)) {
                    $(".numbersOnly").val("");
                }
                $(this).val(val);
            }
        }, 0);
    });
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15658841

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档