React Base Fiddle (JSX)
Starting point for creating JSFiddles with React.
HTML
<script src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
<div id="container">
<!-- This element's contents will be replaced with your component. -->
</div>
Babel + JSX
class SSNInput extends React.Component {
constructor(props) {
super(props);
this.state = {
ssn: ""
};
}
_onInputChange = (event) => {
var string = event.target.value;
string = string.replace(/-/g, "");
var regex = /^([^\s]{3})([^\s]{2})([^\s]{4})$/g;
var match = regex.exec(string);
if (match) {
match.shift();
string = match.join("-")
}
this.setState({ssn: string});
}
render() {
return (
<div>
<input value={this.state.ssn} onChange={this._onInputChange} maxlength="9"/>
</div>
);
}
}
ReactDOM.render(
<SSNInput name="World" />,
document.getElementById('container')
);