I am trying to validate a users email, by checking it against an expression. But the result i am getting is invalid for all the entries.
UPDATED CODE
class dummytest extends Component{ constructor(props){ super(props); this.state = { email :'', validated: false , } }; go = () => { const reg = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/; if (reg.test(this.state.email) === true){ alert( valid); } else{ alert(); } } render(){ return( <View style={{alignSelf:'center',marginTop:100}}> <TextInput autoCapitalize="none" autoCorrect={false} style={{height:20,width:200,backgroundColor:'blue'}} value={this.setState.email}/> <Button onPress={this.go.bind(this)}> <Text> GO </Text> </Button> </View> ); } }
Ok I got the code working, below you can take the look for validating the email on each user input :
validate = (text) => { console.log(text); let reg = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w\w+)+$/; if (reg.test(text) === false) { console.log("Email is Not Correct"); this.setState({ email: text }) return false; } else { this.setState({ email: text }) console.log("Email is Correct"); } }
<TextInput placeholder="Email ID" onChangeText={(text) => this.validate(text)} value={this.state.email} />
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With