使用Angular 6在文本框中的第一位置限制空间

时间:2019-04-25 05:30:02

标签: html regex angular typescript angular6

我遇到一种情况,需要限制用户在TextBox的开头输入空格。我可以限制TextBox中的空间输入。但是没有任何关于不允许进入第一位置的线索。

我正在寻找使用Angular 6的解决方案。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

有两种使用Vanilla JavaScript实现的方法。

1)在正则表达式中使用string.replace()

说明:^匹配起始位置(前导),\s匹配空白字符,+匹配后续元素。一起使用时,^\s+将匹配1个或多个前导空格。

const originalString = '      my Name is WenTjun';
const result = originalString.replace(/^\s+/g, '');
console.log(originalString);
console.log(result);

2)使用String.trim()。请注意,这会同时修剪前导和尾随空格,因此,如果要保留尾随空格,则可能不希望使用它。

const originalString = '      my Name is WenTjun';
const result = originalString.trim();
console.log(originalString);
console.log(result);

答案 1 :(得分:0)

HTML

<input type="text" (click)="handleInput($event)">

TS

handleInput(event) {
    if (e.which === 32 && !this.value.length)
        e.preventDefault();
}

这将不允许用户仅在第一位添加空间