我需要在Aurelia创建一个只接受电话号码的输入.如果用户键入1234567890此输入,则应显示(123) 456-7890该值并将绑定变量设置为1234567890.如果用户也(123) 456-7890输入输入,结果应该相同.如果用户在输入中键入字母,则输入不应显示字母,也不应更新绑定的javascript变量.
我可以使用ValueConverter部分实现这一点:
phone.ts
export class PhoneValueConverter {
private removeNonDigits(input) {
let digits = '';
// Remove non-digits. i.e. '(', ')', ' ' and '-'
for (let i = 0; i < input.length; i++) {
let char = input.charAt(i);
if ('0' <= char && char <= '9')
digits += char;
}
return digits;
}
toView(value) {
if (!value)
return value;
value = this.removeNonDigits(value);
let formatted = '(' + value.substring(0, 3);
if …Run Code Online (Sandbox Code Playgroud)