jquery - 如何在 Jquery 中替换数组中的多个特殊字符?
问题描述
这是我正在使用的我的表单输入。
<div class="row">
<div class="col-12">
<div class="form-group" id="title_of_class_form">
<label class="control-label">Title of Class: </label>
<div class="col-md-12">
<input type="text" name="title_of_class" id="title_of_class"
class="form-control"
autocomplete="off" />
</div>
<span style="color:red;font-size:12px;" id="errNm1"></span>
</div>
</div>
</div>
<div class="row">
<div class="col-12">
<div class="form-group" id="classes_link">
<label class="control-label">Slug (Permalink): </label>
<div class="col-md-12" id="classes_link">
<input type="text" name="classes_link" placeholder="" val=""
class="form-control" />
</div>
<span style="color:red;font-size:12px;" id="errNm1"></span>
</div>
</div>
</div>
这是我的脚本标签。在这段代码中,当我替换一个字符串时,我的代码正在工作,但是当我使用多个特殊字符时,我的代码不起作用。
<script>
$('#title_of_class').keyup(function () {
var title = $(this).val();
title_link = title.replaceAll([' '], '-');
title_link_data = title_link.replaceAll(['!','@','|','1','2','3','4','5','6','7','8','9','0','/','[',']','{','}',')','(','#','$','%','^','&','*','+','=',' '], '-');
$('#classes_link input').val(title_link_data);
console.log('#classes_link'+ title_link_data);
});
</script>
解决方案
您可以使用regex
仅匹配字母 -
正则表达式 - /[^a-zA-Z]/g
$('#title_of_class').keyup(function() {
var title = $(this).val();
title = title.replaceAll(/[^a-zA-Z]/g, '-');
$('#classes_link input').val(title);
});
<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
<div class="row">
<div class="col-12">
<div class="form-group" id="title_of_class_form">
<label class="control-label">Title of Class: </label>
<div class="col-md-12">
<input type="text" name="title_of_class" id="title_of_class" class="form-control" autocomplete="off" />
</div>
<span style="color:red;font-size:12px;" id="errNm1"></span>
</div>
</div>
</div>
<div class="row">
<div class="col-12">
<div class="form-group" id="classes_link">
<label class="control-label">Slug (Permalink): </label>
<div class="col-md-12" id="classes_link">
<input type="text" name="classes_link" placeholder="" val="" class="form-control" />
</div>
<span style="color:red;font-size:12px;" id="errNm1"></span>
</div>
</div>
</div>
推荐阅读
- c# - ASP.NET 5.0 - 如何让 CookieRequestCultureProvider 启动并运行
- pine-script - Pine 脚本版本 4 时间间隔
- java - 有没有办法将特定的 JSON 密钥移动到使用 Jackson JsonGenerator 创建的 JSON 的顶部?
- rx-swift - RxSwift)无法将 rx 绑定到 IBoutlet 按钮,发生“线程 1:致命错误:在隐式展开可选值时意外发现 nil”
- android - 在哪里可以找到下载提供程序的 xamarin android 实现
- kotlin - Kotlin:存储和调用挂起函数会引发 StackOverflow 异常
- java - 克隆孩子有多个父母的 JPA 实体
- sql-server - MVC5 部分页面填充通过来自所选 SelectList 值的存储过程
- visual-studio-code - 在 vscode 中显示打开的小部件检查器图标
- python - Discord.py 如何处理 MissingPermission 的错误消息