如何在angular2的离子输入字段中的两位数后插入空格?

如何在angular2的离子输入字段中的两位数后插入空格?,angular,ionic2,Angular,Ionic2,我正在处理ionic2应用程序。这里我需要显示一个输入字段,当用户输入两个数字时,必须在数字中添加空格,这意味着每对数字都必须添加一个空格。我曾尝试使用jQuery实现这一点。但是在ionic2$(this).val()中,它不工作。有没有办法实现这种模式 下面是我的代码 toothFn(值){ 圆木(“齿”); console.log(“值”,value); var foo=value.split(“”).join(“”); 如果(foo.length>0){ 控制台日志(“如果”); fo

我正在处理ionic2应用程序。这里我需要显示一个输入字段,当用户输入两个数字时,必须在数字中添加空格,这意味着每对数字都必须添加一个空格。我曾尝试使用jQuery实现这一点。但是在ionic2
$(this).val()
中,它不工作。有没有办法实现这种模式

下面是我的代码

toothFn(值){
圆木(“齿”);
console.log(“值”,value);
var foo=value.split(“”).join(“”);
如果(foo.length>0){
控制台日志(“如果”);
foo=foo.match(新的RegExp('.{1,2}',g')).join(“”);
}
console.log(“foo”,foo);
返回foo;
}

齿数
请输入齿号


不确定确切的模式,但您可以检查输入上的每个键控事件

比如说

  <ion-input [(ngModel)]="textNumber" (keypress)="validate($event)" (keyup)="addSpace()"></ion-input>

  addSpace(){

    //first remove previous spaces
    this.textNumber = this.textNumber.replace(/\s/g, '');

    //then add space (or any char) after second (or any "n-th") position
    this.textNumber = this.chunk(this.textNumber, 2).join(' ');
  }

  //validate and only allow numbers
  validate(event){
      return event.charCode >= 48 && event.charCode <= 57;
  }

  chunk(str: any, position: number){
    let ret = [];
    let i;
    let len;

    for(i = 0, len = str.length; i < len; i += position) {
       ret.push(str.substr(i, position));
    }

    return ret;
  }

addSpace(){
//首先删除前面的空格
this.textNumber=this.textNumber.replace(/\s/g');
//然后在第二个(或任何第n个)位置后添加空格(或任何字符)
this.textNumber=this.chunk(this.textNumber,2).join(“”);
}
//验证并仅允许数字
验证(事件){

return event.charCode>=48&&event.charCode不确定确切的模式,但您可以检查输入上的每个keyup事件

比如说

  <ion-input [(ngModel)]="textNumber" (keypress)="validate($event)" (keyup)="addSpace()"></ion-input>

  addSpace(){

    //first remove previous spaces
    this.textNumber = this.textNumber.replace(/\s/g, '');

    //then add space (or any char) after second (or any "n-th") position
    this.textNumber = this.chunk(this.textNumber, 2).join(' ');
  }

  //validate and only allow numbers
  validate(event){
      return event.charCode >= 48 && event.charCode <= 57;
  }

  chunk(str: any, position: number){
    let ret = [];
    let i;
    let len;

    for(i = 0, len = str.length; i < len; i += position) {
       ret.push(str.substr(i, position));
    }

    return ret;
  }

addSpace(){
//首先删除前面的空格
this.textNumber=this.textNumber.replace(/\s/g');
//然后在第二个(或任何第n个)位置后添加空格(或任何字符)
this.textNumber=this.chunk(this.textNumber,2).join(“”);
}
//验证并仅允许数字
验证(事件){

return event.charCode>=48&&event.charCode,但只能从输入字段中获取数字。此代码也允许字母。对于仅限数字,我如何实现?我将在keypress事件中添加验证函数,以检查按键的charCode,我已更新示例和答案,并在gi上获得“无法读取属性”“替换”“空错误”正在验证该条件。但只能从输入字段中获取数字。此代码也允许字母。对于仅数字,我如何实现?我将在按键事件中添加验证函数,检查按键的字符代码,我已更新示例,并回答在给定该条件时,我将获得“无法读取属性”替换“空错误”。