如何使用jquery删除空格和特殊字符

时间:2016-05-17 15:24:16

标签: jquery html regex

我有一个带输入字段的表单。 我在页面上显示该字段的值。

$(document).ready(function() {
     $('#company').change(function(){
         $('#compname').html($('#company').val());
     });
});

我需要去除所有空白区域以及输入到该字段中的任何特殊字符。 (因此只显示字母/数字字符且没有空格)。

3 个答案:

答案 0 :(得分:2)

您可以使用以下正则表达式/[^A-Z0-9]/ig执行此操作:

var company_name = $('#company').val().replace(/[^A-Z0-9]/ig, "");
$('#compname').html(company_name);

[^A-Z0-9] :匹配下面列表中不存在的单个字符

A-Z :A和Z之间范围内的单个字符(不区分大小写)

0-9 :0到9之间范围内的单个字符

g :修饰符:全局。所有比赛(首场比赛都没有回归)

i :修饰符:不敏感。不区分大小写的匹配(忽略[a-zA-Z]的情况)

注意:最好使用input事件来跟踪输入中的用户更改。

希望这有帮助。



$(document).ready(function() {
  $('#company').on('input', function(){
    var company_name = $('#company').val().replace(/[^A-Z0-9]/ig, "");
    $('#compname').html(company_name);
  });
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="text" id="company" placeholder='Company name'/>

<br><br>
Result : <span id="compname"></span>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

您可以使用正则表达式通过replace()函数实际删除任何未明确字母数字[^a-zA-Z\d]的字符:

// Clean up your name here
var name = $('#company').val().replace(/[^A-Z0-9]/gi,'');
// Display your cleaned name
$('#compname').html(name);

示例

enter image description here

&#13;
&#13;
<!DOCTYPE html>
<html>

<head>
  <script src="https://code.jquery.com/jquery-2.1.4.js"></script>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>Stripping Example</title>
</head>

<body>
  <pre>Company</pre>
  <input id='company' />
  <hr />
  <h3 id='compname'></h3>
  <script>
    $(document).ready(function() {
      $('#company').keyup(function() {
        // Clean up your name here
        var name = $(this).val().replace(/[^A-Z0-9]/gi, '');
        // Display your cleaned name
        $('#compname').html(name);
      });
    });
  </script>
</body>

</html>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

您可以使用\W来匹配&#34;非字母数字&#34;并简单地替换为任何东西:

"  &&^mark & ".replace(/\W/g, "")  //mark