onPaste()
而不是在文件类型为jQuery
的组件文件之外使用JavaScript
或ts
函数,而是需要在将其粘贴到文本框中后修剪或删除/限制任何特殊字符,以免在[ C0]仅组件,并将其作为抽象函数粘贴到文本框后需要反映相同的组件
仅允许使用特殊字符:
TypeScript
以下是完整的代码段,如下所示
[0 0 0 0 0 0 0 0 0> 0hyphens(-), parenthesis(()), dot(.), underscore(_), numbers(0-9), alphabets(a-zA-Z) and space
Component.ts
🚀StackBlitz从剪贴板粘贴后,特殊字符的结果仍将保留在文本框中。但不是从<input type="text" id="bindingId" [(ngModel)]="bindingName"
(keypress)="validateSpecialCharacters($event)" (paste)="onPaste($event)"
onCopy="return false" onDrag="return false" onDrop="return false"/>
]中调用的public validateSpecialCharacters(e: any): boolean {
try {
if (/^[a-zA-Z0-9\-\_\s\(\)\.]*$/.test(e.key)) {
return true;
} else {
e.preventDefault();
return false;
}
// let k;
// document.all ? k = e.keyCode : k = e.which;
// k = e.charCode; // k = event.keyCode; (Both can be used)
// return((k > 64 && k < 91) || (k > 96 && k < 123) || k === 8 || k === 32 || k === 40 || k === 41 || k === 45 || k === 46 || k === 95 || (k >= 48 && k <= 57));
} catch (e) {
}
}
onPaste(event: ClipboardEvent) {
let clipboardData = event.clipboardData;
let pastedText = clipboardData.getData('text');
let trimmedText = pastedText.replace(/[^a-zA-Z0-9-()._ ]/g, '');
(<HTMLInputElement>document.getElementById('bindingId')).value = trimmedText;
}
值上面相同的代码应进行修改,以便每当有任何字符从剪贴板粘贴到文本框时,都应进行修改。通过保留唯一允许的特殊字符,其余的需要从文本框中删除]
在粘贴到文本框中时,如何通过仅删除/修饰特殊字符来实现此目的?这只能通过仅使用trimmedText
内部内置的onPaste()
或jQuery
功能来实现。但不在JavaScript
外部,即通过TypeScript
或通过TypeScript
文件调用任何函数
而不是在文件类型为ts的组件文件之外使用jQuery或JavaScript函数,而是需要在将其从...粘贴到文本框中后修剪/删除/限制任何特殊字符。
<<< [
<script>
.js
event.preventDefault();
值onPaste()