我有一个带输入字段的表单。 我在页面上显示该字段的值。
$(document).ready(function() {
$('#company').change(function(){
$('#compname').html($('#company').val());
});
});
我需要去除所有空白区域以及输入到该字段中的任何特殊字符。 (因此只显示字母/数字字符且没有空格)。
答案 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;
答案 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);
示例强>
<!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;
答案 2 :(得分:0)
您可以使用\W
来匹配&#34;非字母数字&#34;并简单地替换为任何东西:
" &&^mark & ".replace(/\W/g, "") //mark