var check = /^[^-\s]+[a-zA-Z\s]*$/;
我的HTML:
<input type="text" onChange={(e) => this.onTextChange(e)} required/>
功能:
onTextChange(event) {
let fieldVal = event.target.value;var check = /^\S+[a-zA-Z\s]*$/;
if(check.test(fieldVal)){
} else{
}
}
如果我在函数中使用它来限制开始时的空间意味着它工作正常。但是在输入退格时,第一个字符不会删除。任何人都可以帮忙吗?
答案 0 :(得分:0)
也许这就是你要找的东西?
这将删除字符串之前的任何空格(如果有的话),并且不会阻止您处理您的退格问题。
正则表达式:/^\s+/
基本匹配字符串开头的一个或多个(+
)空白字符(\s
)(^
)。
我们将此匹配替换为空字符串''
。
class App extends React.Component {
constructor() {
super();
this.state = {val: ""};
}
onTextChange = (e) => {
let str = e.target.value;
str = str.replace(/^\s+/, '');
this.setState({val: str});
}
render() {
return (
<div>
<input value={this.state.val} onChange={this.onTextChange} />
</div>
);
}
}
ReactDOM.render(<App />, document.getElementById('app'));
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="app"></div>
&#13;