格式输入类型文本而不更改值

时间:2016-11-03 11:38:30

标签: javascript html html5

是否可以格式化Input元素的文本值,而无需实际更改值本身。例如,如果我输入以下格式的ID号:

19801010-1234

我希望值为198010101234但是当输入超过8个字符时,应显示连字符。我使用的是javascript和nodejs。

这就是我目前所拥有的:

HTML

<input id="ssn"
       className= {styles.input}
       type="input"
       value= {this.format(personalNumber)}
       placeholder={translations.personalNumber}
       onChange={this.onChange} />

JS

format(value){
    if(value && value.length>8)
        return value.slice(0, 8) + " - " + value.slice(8);
    return value;
}

我正在使用反应,上面的意思当然会改变价值本身,包括一个我希望可以避免的连字符。

1 个答案:

答案 0 :(得分:0)

试试这个:

var customPackView = CustomDetailView(frame: CGRect.zero) 

可能不是最好的解决方案。但它有效

jsfiddle demo