Я бы сделал так:
contact = new FormControl('', [Validators.required, Validators.pattern("^[0-9]{10,12}$")]);
Регулярное выражение: ^[0-9]{10,12}$
Где,
[0,9] - Accept 0 to 9 numbers
{10,12} - Range
StackBlitz
[ 118]
Пространство нулевой ширины (U+200B) должно, вероятно, сделать то, что Вы хотите. От спецификации Unicode:
Пространство Нулевой ширины. SPACE НУЛЕВОЙ ШИРИНЫ U+200B указывает на возможность разрыва строки, за исключением того, что она не имеет никакой ширины. Пробелы нулевой ширины предназначаются, чтобы использоваться на языках, которые не имеют никакого видимого межсловного интервала для представления возможностей разрыва строки, таких как тайский язык, кхмерский язык и японский язык.
Должен быть в большинстве шрифтов, с которыми Вы сталкиваетесь, но YMMV.
Лично, я просто предпочитаю использовать основной/вторичный ключ сортировки. Это менее топорно, и легко реализовать в типичном запросе SQL (ORDER BY column_a, column_b). Отредактированный для добавления: В Php Вы могли использовать usort(array, comparisonFunction)
с пользовательской функцией сравнения для добавления дополнительной логики для сортировки, если Вы не можете использовать SQL для добиваний цели.
Однако, если у Вас только есть один столбец для работы с, и это является незакрепляемым, просто префикс с определенным числом маловероятных символов как символы нижнего подчеркивания для сортировки, затем разделите их перед отображением их. (использующий regexp замена или подобный).
Основанные на Unicode взломы будут зависеть в большой степени от того, какие шрифты используются, какое сопоставление/порядок сортировки локали Вы используете и можете произвести нежелательные побочные эффекты на клиентах, которыми Вы не управляете (различные браузеры, различные ose, различные клиентские локали). Большинство "непечатных" символов приводит к "неизвестному символу" при отображении в системах без поддержки их, которая обычно похожа на пустой квадрат. Существуют некоторые символы нулевой ширины, используемые для языков как арабский язык, но они не должны влиять на сортировку кроме приложений с очень извращенной поддержкой Unicode.