정규식을 통해 이메일의 유효성을 검사 할 때 도로에서 충돌이 발생합니다. 정규식 테스트를 위해 기본 제공 JavaScript .test() 메서드를 사용하려고 할 때 정의되지 않은 함수 오류가 발생합니다. 이러한 유형의 함수를 참조 할 때 사용할 특별한 키워드가 있습니까?반응 네이티브에서 js 함수 호출
감사합니다. 귀하의 의견에 감사드립니다.
다음은 문제를 일으키는 코드의 두 섹션입니다.
verifyEmail = (email) => {
const regex = /^[a-zA-Z0-9_.+-][email protected](?:(?:[a-zA-Z0-9-]+\.)?[a-zA-Z]+\.)? (gmail)\.com$/;
return regex.test(email);
}
정규식 자주 재사용 :
class LoginForm extends Component {
state = { email: '', password: '', warning: '', loading: false, color: '#FFFFFF' };
onButtonPress() {
const { email, password } = this.state;
this.setState({ loading: true });
this.setState({ warning: '' });
if (this.verifyEmail(email)) {
firebase.auth().signInWithEmailAndPassword(email, password)
.then(this.onLoginSuccess.bind(this))
.catch(() => {
firebase.auth().createUserWithEmailAndPassword(email, password)
.then(this.onLoginSuccess.bind(this))
.catch(this.onLoginFail.bind(this));
});
}
else {
this.onLoginFail.bind(this);
}
}
verifyEmail = (email) => {
const regex = '^[a-zA-Z0-9_.+-][email protected](?:(?:[a-zA-Z0-9-]+\.)?[a-zA-Z]+\.)? (gmail)\.com$';
return regex.test(email);
}
당신이 ['RegExp.prototype.test'] 호출하려고 한 것으로 나타났습니다 (https://developer.mozilla.org/en-US/docs/Web/JavaScript/ Reference/Global_Objects/RegExp/test)를 String 객체에 추가합니다. 문자열을 실제 RegExp – Hamms
Yeap으로 바꿔보십시오. 의미가 있습니다. 나는 꽤 오랫동안 js를 망쳐 놓지 않았다. 감사! – Gabe