如何限制输入框接受Angular中的特殊字符?
How to restrict input field from accepting special characters in Angular?
我有一个不应为空且不应允许特殊字符的输入字段。
我有这样的东西要验证:
if (value === '' || !value.trim()) {
this.invalidNameFeedback = 'This field can not be blank.';
return false;
} else if (!value.match(/[\p{Letter}\p{Mark}]+/gu)) {
this.invalidNameFeedback = 'This field can not contain special characters.';
return false;
}
这允许在输入字母或数字时使用特殊字符。我根本不想允许特殊字符。
您可以检查整个值以仅匹配选定的字符 class 并使用例如 .test()
^[\p{Alphabetic}\p{Mark}\p{Decimal_Number}\p{Connector_Punctuation}\p{Join_Control}]+$
例子
if (value === '' || !value.trim()) {
this.invalidNameFeedback = 'This field can not be blank.';
return false;
} else if (!/^[\p{Alphabetic}\p{Mark}\p{Decimal_Number}\p{Connector_Punctuation}\p{Join_Control}]+$/u.test(value)) {
this.invalidNameFeedback = 'This field can not contain special characters.';
return false;
}
我有一个不应为空且不应允许特殊字符的输入字段。
我有这样的东西要验证:
if (value === '' || !value.trim()) {
this.invalidNameFeedback = 'This field can not be blank.';
return false;
} else if (!value.match(/[\p{Letter}\p{Mark}]+/gu)) {
this.invalidNameFeedback = 'This field can not contain special characters.';
return false;
}
这允许在输入字母或数字时使用特殊字符。我根本不想允许特殊字符。
您可以检查整个值以仅匹配选定的字符 class 并使用例如 .test()
^[\p{Alphabetic}\p{Mark}\p{Decimal_Number}\p{Connector_Punctuation}\p{Join_Control}]+$
例子
if (value === '' || !value.trim()) {
this.invalidNameFeedback = 'This field can not be blank.';
return false;
} else if (!/^[\p{Alphabetic}\p{Mark}\p{Decimal_Number}\p{Connector_Punctuation}\p{Join_Control}]+$/u.test(value)) {
this.invalidNameFeedback = 'This field can not contain special characters.';
return false;
}