Autor Zpráva
jenik7
Profil *
Ahoj,

potrebuju zkontrolovat jestli se dany string shoduje s nekterou hodnotou v array
myArray, ale nejak mi to nefunguje..

Potrebuju vlastne aby se kontrolovala shoda jen pro cast stringu takze "auto.abc" by vypsalo shodu protoze obsahuje presne slovo "auto" definovane v myArray.

Nicmene dalsi vec je aby to uz shodu nevypsalo pokud by string byl: "1auto.abc" nebo "auto1.abc", takze hranice pro kontrolu urciteho slova v stringu by byla omezena bud prazdnym mistem nebo teckou ...

<script type="text/javascript">

myArray = new Array("provazek", "string", "auto");

if(!(myArray.join().search('auto.abc')>-1)){
		alert('nenalezeno');
}else{
		alert('nalezeno');
}

</script>


Diky!
Luky
Profil
Zkusil bych nějaké regulární výrazy, možná by to bylo lepší.
peta
Profil
Na te strance si dej bacha na chyby. vyznacena promenna se mela asi jmenovat stejne, vzor.
function over(){
inp=document.form.rodne.value;
vzor=/^[0-9]{6}\/[0-9]{4}$/
if (mail.test(inp)==true)
window.alert("správný formát RČ");
else window.alert("špatně zadané RČ")
}



jenik7
http://regexp.cz
"provazek", "string", "auto"
"provazek|string|auto"
"pro?az?k|st?ing|a?to"
<script>
vzor = "pro.az.k|st.ing|a.to";
str  = "testovany retezec na prokazik";
alert ((new RegExp(vzor,"g").test(str)));

var str, vzor;
vzor = "pro.az.k, st.ing, a.to".replace(/[.]/g,'[\\w]').replace(/[, ]+/g,'|');
str  = "testovany retezec na prokazik";
alert(vzor);
alert((new RegExp(vzor,'g')).test(str));
</script>
Witiko
Profil
jenik7, Luky, peta:
Co třeba něco takovéhleho:
String.prototype.obsahuje = function(needle) {
  return needle instanceof RegExp?
         needle.test(this):this.indexOf(needle) != -1;
};
Je to fešné a funguje to jak s RegExpy tak s čímkoliv jiným:
var text = "1234 Lorem ipsum dolor";
    text.obsahuje("Lorem");
    text.obsahuje(/IPSUM/i);
    text.obsahuje(23);
    text.obsahuje({
      toString: function() {
        return "dolor";
      }
    });
// true, true, true, true

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0