2016-11-07 44 views
0

我需要我的输入只接受数字,小数和逗号的能力。现在使用type=number意味着我仅限于数字和小数,但我不确定如何允许使用逗号。任何人都可以建议我可以做什么?创建一个只允许数字,小数和逗号的输入

JS

var StopPrice = React.createClass({ 
    getInitialState() { 
    return { 
     stopPrice: 92.99 
    } 
    }, 

    updateStopPrice(stopPrice) { 
    this.setState({ 
     stopPrice 
    }) 
    }, 

    onChange(event) {  
    var stopPrice = event.target.value; 

    this.setState({ 
     stopPrice 
    }); 
    }, 

    render() { 
    return <div> 
     <input type="number" value={this.state.stopPrice} onChange={this.onChange} /> 
    </div> 
    } 
}); 

JS小提琴:http://jsfiddle.net/kyllle/mjq9omyx/

+0

为什么你需要'''? – Cerbrus

+0

在哪里你想让'''进入?添加允许格式的示例。 –

+0

这里有什么问题?我们不清楚。 – Prasath

回答

0

按照docs

值=浮点数
表示号码的字符串。

而且,如果你走得更远,到spec for floating point,你会注意到你不能有任何其他字符。

要达到所需的行为,您可以使用pattern属性并指定一个正则表达式,例如,

<input pattern="\d+((\.|,)\d+)?" /> 

正则表达式:

\d+((\.|,)\d+)? 

允许数字(\ d),则可选部分:
任一个点或逗号|和多个数字\ d +(。)。

相关问题