【问题标题】:how to prevent using space while typing?如何防止打字时使用空格?
【发布时间】:2010-09-02 02:13:12
【问题描述】:

我有一个文本字段用于输入一些序列号代码。如果有人使用 spase,我想设置此代码显示警报。这意味着不允许使用空格,只允许使用减号来分隔此代码。你有解决这个问题的想法吗?我可以使用 jquery 验证吗?

the correct typing:
135x0001-135x0100

【问题讨论】:

  • 请更清楚地重申您的问题。

标签: jquery validation space


【解决方案1】:

要防止输入元素中出现空格,您可以使用 jQuery 来做到这一点:

示例: http://jsfiddle.net/AQxhT/

​$('input').keypress(function( e ) {
    if(e.which === 32) 
        return false;
})​​​​​;​

.

$('input').keypress(function( e ) {    
    if(!/[0-9a-zA-Z-]/.test(String.fromCharCode(e.which)))
        return false;
});​

【讨论】:

  • 如何使这个代码只允许用于“-”,如果用户使用“@”、“&”、“+”等是不允许的。
  • @klox - 不知道你的意思。你想允许哪些字符,或者你想阻止哪些字符?
  • 我的意思是可以使用的字符是“-”。不应该使用的是 "@","&","+"。
  • @klox - 我假设您也想允许数字和“x”。其他字母呢?
  • @klox - 我更新了答案。现在它只允许数字“-”和“x”。那是你想要的吗?
【解决方案2】:

短而甜,不依赖 jQuery

function nospaces(t){
  if(t.value.match(/\s/g)){
    t.value=t.value.replace(/\s/g,'');
  }
}

HTML

<input type="text" name ="textbox" id="textbox" onkeyup="nospaces(this)">

【讨论】:

  • 这应该是最好的答案!
  • 如果我们将内容复制粘贴到输入字段中,则会显示空格。
【解决方案3】:
$('.noSpace').keyup(function() {
 this.value = this.value.replace(/\s/g,'');
});

<input type="text" name ="textbox" class="noSpace"  />

【讨论】:

    猜你喜欢
    • 2012-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-05
    • 2021-11-01
    相关资源
    最近更新 更多