I have API and some of them return to only email and some return only id. For example:
user1
value: example@example.com
user2
value: 1212391361783212
I need that if I have input and wanna give value if the value is email
. If the value is id
, the input value must be null
<input value={???}/>
Advertisement
Answer
Your code sample is incomplete but what you’re trying to do should look something like this. Rather than assuming any non-numerical response is a valid email, which can break in the future as the API changes, be explicit about what you’re looking for as below.
// Assume you're comfortable using a relatively loose pattern to match an email i.e. no overly strict formatting rules const mailPattern = /^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:.[a-zA-Z0-9-]+)*$/ // Assume response is in scope and contains the API response with the email or id deserialized from the body const value = mailPattern.test(response) ? value : null