Pregunta

¿Cómo puedo comprobar si una variable tiene algo en ella? He intentado comprobar si un .match() volvió null pero eso no era útil para comprobar con un OR?

¿Fue útil?

Solución

A medida que solo recibió respuestas que involucran expresiones regulares, aquí está la solución operación de cadena sencilla:

var hasMatch = input.indexOf('cheese') != -1 || input.indexOf('cake') != -1;

Otros consejos

/cheese|cake/.test(a)

se podría añadir un i al final de la expresión regular si desea probar mayúsculas y minúsculas

Prueba esto:

var myString = 'I love cheese';
var isMatch = new RegExp(/(cheese|cake)/i).test(myString); //should return true

todas las expresiones publicadas hasta ahora también la palabra "queso" y "juego de niños". No sé si esto es deseable o no, por si acaso aquí está la versión que no es así:

alert(/\b(cheese|cake)\b/i.test("cheese and cake")) // true
alert(/\b(cheese|cake)\b/i.test("cheeseburger and pancake")) // false

¿No te desea que el siguiente?

var result = input.match("cheese") || input.match("cake");
var matched = !!('cheese'.match(/(?:cheese|cake)/g));
alert(matched)

O RegExp.prototype.test:

var matched = /cheese|cake/i.test('cheese cake');
alert(matched)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top