Javascript - 删除粘贴上的空格

Mat*_*att 14 html javascript css space paste

我有一个输入文本字段,最大长度为10.该字段用于澳大利亚电话号码(10位数).电话号码通常分为以下语法

12 12345678
Run Code Online (Sandbox Code Playgroud)

如果有人复制上面的内容并将其粘贴到我的输入字段中,它显然会留下最后一个数字并保留空格.

有没有办法在粘贴到输入框之前删除任何空格?或者还有另一种解决方法吗?

提前致谢.

Pau*_*aul 11

这应该适合你:

HTML

<input type="text" id="phone" maxlength="10" />?
Run Code Online (Sandbox Code Playgroud)

JavaScript的

var phone = document.getElementById('phone'),
    cleanPhoneNumber;

cleanPhoneNumber= function(e)
{
 e.preventDefault();
 var pastedText = '';

 if (e.clipboardData && e.clipboardData.getData)
 {// Standards Compliant FIRST!
  pastedText = e.clipboardData.getData('text/plain');
 }
 else if (window.clipboardData && window.clipboardData.getData)
 {// IE
  pastedText = window.clipboardData.getData('Text');
 }

 this.value = pastedText.replace(/\D/g, '');
};

phone.onpaste = cleanPhoneNumber;
Run Code Online (Sandbox Code Playgroud)

小提琴:http://jsfiddle.net/y6TYp/6/

更新 nnnnnn有一个关于澳大利亚电话号码的重点,更新替换正则表达式.

  • 您可能也想要删除括号和连字符,因为澳大利亚的电话号码通常写在`(02)6543-2109`上有一些变化.所以也许`.replace(/\D/g,'')`(即用空字符串替换任何非数字). (2认同)