Compruebe si var tiene “queso” O “torta” en ella?
-
11-09-2019 - |
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?
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