praegune kellaaeg 07.08.2025 15:00:49
|
Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
raido357
HV veteran
liitunud: 26.09.2002
|
22.01.2009 01:19:13
JavaScript regulaaravaldis jaoks |
|
|
Tere, kuidas lisada -i regulaaravaldisse, avaldis kontrollib kas sisestatud stringis on vastav täht olemas, kui ei on tulemuseks true.
Lihtsalt kirjutades avaldisse ei tööta.
Edit: töötab kui hardcoded string on, kui aga lasta input fieldi kontrollida, trükkimise ajal, siis on tulemuseks, false.
--
Raido
viimati muutis raido357 22.01.2009 12:23:10, muudetud 1 kord |
|
Kommentaarid: 78 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
70 |
|
tagasi üles |
|
 |
Absona
Lõuapoolik

liitunud: 17.09.2008
|
22.01.2009 10:55:14
Re: JavaScript regulaaravalis jaoks |
|
|
raido357 kirjutas: |
Tere, kuidas lisada -i regulaaravaldisse, avaldis kontrollib kas sisestatud stringis on vastav täht olemas, kui ei on tulemuseks true.
Lihtsalt kirjutades avaldisse ei tööta.
Edit: töötab kui hardcoded string on, kui aga lasta input fieldi kontrollida, trükkimise ajal, siis on tulemuseks, false.
--
Raido |
Ma nüüd täpselt aru ei saa mida soovid aga ma soovitan ebatavalised tähed koodi ASCII kodeeringus kirjutada. Siit saad täpsemalt teada neid koode: ASCII.
_________________ Veebilehed, veebiprogrammeerimine, veebilahendused
Erinevad rakendused ja skriptid. |
|
Kommentaarid: 11 loe/lisa |
Kasutajad arvavad: |
   |
:: |
2 :: |
0 :: |
8 |
|
tagasi üles |
|
 |
inzinz
HV kasutaja
liitunud: 26.01.2005
|
22.01.2009 12:33:36
|
|
|
Üks idee on see, et sõltub encodingutest. (Arvestades seda et kui ise kirjutad hardcodetuna siis töötab aga inputi põhjal ei tööta)
Mis sul lehe encoding on kus script jookseb ja mis encodingus sul javascripti fail salvestatud on ?
Kui sul leht on UTF-8 kuid javascript on tavalise texteditoriga ISO-8859-1 vms kodeeringus, siis javascript/browser ei oska võrrelda ASCII märki UTF8 märgiga korrektselt.
Text editorist salvesta kindlasti javascript samasse kodeeringusse milles sinu leht on, siis peaks töötama
_________________ Upload.ee - eestimaine failiupload |
|
Kommentaarid: 4 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
4 |
|
tagasi üles |
|
 |
raido357
HV veteran
liitunud: 26.09.2002
|
22.01.2009 12:50:01
Re: JavaScript regulaaravalis jaoks |
|
|
Absona kirjutas: |
raido357 kirjutas: |
Tere, kuidas lisada -i regulaaravaldisse, avaldis kontrollib kas sisestatud stringis on vastav täht olemas, kui ei on tulemuseks true.
Lihtsalt kirjutades avaldisse ei tööta.
Edit: töötab kui hardcoded string on, kui aga lasta input fieldi kontrollida, trükkimise ajal, siis on tulemuseks, false.
--
Raido |
Ma nüüd täpselt aru ei saa mida soovid aga ma soovitan ebatavalised tähed koodi ASCII kodeeringus kirjutada. Siit saad täpsemalt teada neid koode: ASCII. |
Oleks vaja extended ascii sümboleid filtreerida, täpsemalt aga nagu ma olen nüüdseks aru saanud, siis ei ole see võimalik. Isegi lihtlabane string.match("") ei saa aru, et on sisestatud.
st. "tere".match(""); töötab aga kui kusagilt javascripti promptist või input type=text väljalt infot funktsiooni sisse anda, on tulemuseks 0.
Edit: viga oligi encodingutes, jälle natuke targem.
|
|
Kommentaarid: 78 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
70 |
|
tagasi üles |
|
 |
Absona
Lõuapoolik

liitunud: 17.09.2008
|
22.01.2009 12:54:25
Re: JavaScript regulaaravalis jaoks |
|
|
raido357 kirjutas: |
Absona kirjutas: |
raido357 kirjutas: |
Tere, kuidas lisada -i regulaaravaldisse, avaldis kontrollib kas sisestatud stringis on vastav täht olemas, kui ei on tulemuseks true.
Lihtsalt kirjutades avaldisse ei tööta.
Edit: töötab kui hardcoded string on, kui aga lasta input fieldi kontrollida, trükkimise ajal, siis on tulemuseks, false.
--
Raido |
Ma nüüd täpselt aru ei saa mida soovid aga ma soovitan ebatavalised tähed koodi ASCII kodeeringus kirjutada. Siit saad täpsemalt teada neid koode: ASCII. |
Oleks vaja extended ascii sümboleid filtreerida, täpsemalt aga nagu ma olen nüüdseks aru saanud, siis ei ole see võimalik. Isegi lihtlabane string.match("") ei saa aru, et on sisestatud.
st. "tere".match(""); töötab aga kui kusagilt javascripti promptist või input type=text väljalt infot funktsiooni sisse anda, on tulemuseks 0. |
Proovi siis unicodet:
string.match("\142")
Katseta need variandid läbi
= Ž
= 0157
= Ž
= 142
jne..jne..
Neid koode on tohutult palju. Loe lisaks: Link
_________________ Veebilehed, veebiprogrammeerimine, veebilahendused
Erinevad rakendused ja skriptid. |
|
Kommentaarid: 11 loe/lisa |
Kasutajad arvavad: |
   |
:: |
2 :: |
0 :: |
8 |
|
tagasi üles |
|
 |
nene
Kreisi kasutaja

liitunud: 20.03.2004
|
22.01.2009 13:24:02
Re: JavaScript regulaaravalis jaoks |
|
|
Absona kirjutas: |
Proovi siis unicodet:
string.match("\142") |
Noh, sellel nüüd küll pole unicode'iga mingit pistmist. See annab sulle ISO-8859-1 kooditabeli sümboli number 142.
Unicode'i sümbolid kirjutatakse kujul \uXXXX. Näiteks:
= "\u017D"
= "\u017E"
= "\u0160"
= "\u0161" |
Seega regulaaravaldis, mis kontrolliks kas sõna koosneb vaid , , ja tähtedest oleks selline:
/^[\u017D\u017E\u0160\u0161]*$/ |
Üldiselt on heaks praktikaks vältida programmitekstides sümboleid väljaspool ASCII tabelit. Väljaspool ASCII-d sümbolitega võib alati midagi metsa minna.
Erinevate sümbolite unicode'i numbrid leiab kergesti näiteks Wikipeediast - lihtsalt sisestad vastava sümboli otsingusse.
Aga Ž ja Ž on HTML-i spetsiifilised ning JavaScripti need ei puutu.
_________________ Mõistus otsas? Pane pinusse... |
|
Kommentaarid: 24 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
23 |
|
tagasi üles |
|
 |
inzinz
HV kasutaja
liitunud: 26.01.2005
|
22.01.2009 15:25:15
|
|
|
Kõige etem on üritada hoida kõik failid samas kodeeringus ning php (või misiganes asi seal serveri poolel on) poolt ka headeriga vastav encoding öelda browseritele et 100% töötaks.
Siis ei teki probleeme ei regex ega tavalise stringi search/replacega kui vaja erimärke välja filtreerida. Kui sa saad ilusti kirja panna javascriptis textfield.value = textfield.value.replace(/¾/, "z") või misiganes juhul vaja teostada võrdlemist, siis on ¾ ka kuu aja pärast arusaadav ja loetav kui aga \u017d puhul peaks kulutama aega et teada saada mis märgiga täpselt tegu oli.
Ise kasutan igal pool UTF-8 (javascript failid, html, php ja mysql baas) et ei tekiks üleliigseid encodingu jamasid.
Nagu näha siis antud juhul oligi lahenduseks see et javascript tuli salvestada samas kodeeringus nagu muu veebilehtki
_________________ Upload.ee - eestimaine failiupload |
|
Kommentaarid: 4 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
4 |
|
tagasi üles |
|
 |
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
|
|
Hinnavaatlus ei vastuta foorumis tehtud postituste eest.
|