使用Bootstrap表单构建器,我想知道如何限制用户将#
和.
输入到标签的属性中,其中contenteditable
为真。
我希望将其用于任何要编辑的随机标签。怎么做?
我知道ascii的值,但对于内容可编辑为true时该页面中的所有标签,我希望用户不要在其中输入#
和.
。
我的标签样本是:
<label>
<strong contenteditable="true">Telephone</strong>
</label>
我尝试使用此功能,但不会阻止它输入#&amp;
$('body').on('paste input', '[contenteditable]', function(data) {
var text = $(this).text();
if (text == '#' || text == '.'){
console.log('hi');
data.preventDefault();
}
});
立即工作
$('body').on('paste input', '[contenteditable]', function(data) {
var text = $(this).text();
var regax1 = /#/;
var regax2 = /./;
if (text.match(regax1)) {
var newText = text.replace('#', '');
$('strong').text(newText);
}
});
});
答案 0 :(得分:0)
我不知道引导程序表单构建器,但您可以在每个输入上使用onkeyup事件轻松完成此操作。
当用户按某个键时,查看键码,如果您不喜欢此键,请删除最后一个字符。 或者在每个onkeyup上使用regexp替换坏字符。
答案 1 :(得分:0)
你去了:
jQuery(document).ready(function($) {
$('body').on('paste input', '[contenteditable]', function(data) {
var text = $(this).text();
if(text.match(/#/g).length > 0) {
var newText = text.replace('#', '');
$('strong').text(newText);
}
});
});