Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

IsCharacter function

[es] :: Javascript i AJAX :: IsCharacter function

[ Pregleda: 4649 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

ZeRo8
Wien

Član broj: 168
Poruke: 235
*.goethe-wien.at.



Profil

icon IsCharacter function02.08.2006. u 11:54 - pre 186 meseci
Pitanje je opste programersko, nije vezano bas za javascript ali posto cu ga koristiti s javascriptom zato ga postavljam ovde.

Imam funkciju isCharacter koja treba da proveri da li je uneti string sastavljen samo od karaktera, znaci bez brojeva i specijalnih znakova(&%$§...), ali treba biti ukljuceni i umlauti ö,ä ... zatim u francuskom - a s akcentom ... i slicno.

Ovo je moja trenutna funkcija:


Code:
function isCharacter(str)
    {
        tmpstr = " "
        for (i = 0; i < str.length; i++)
            {
                if (!((str.charAt(i) >= "A" && str.charAt(i) <= "Z") || (str.charAt(i) >= "a" && str.charAt(i) <= "z") || (str.charAt(i) == tmpstr) || (str.charAt(i) == "."))) return false;
            }
        return true;
    }
 
Odgovor na temu

[email protected]
http://localhost

Član broj: 2597
Poruke: 1603

Sajt: localhost


+23 Profil

icon Re: IsCharacter function03.08.2006. u 11:21 - pre 186 meseci
Hmm... regularni izrazi

Npr. nešto na brzinu:
Code:

String.prototype.isCharacter = function() {
  if(!this || this.length == 0) return false;
  var re = /^[a-z\xC0-\xFF\u0430-\u045F]+$/i
  if(!re.exec(this)) return false;
  return true;
}
alert('abvgdđežzijklljmnnjoprstćufhcčdžš'.isCharacter());
alert('öä'.isCharacter());
alert('asdf1'.isCharacter());
alert('asdf&!%$'.isCharacter());


Nisam siguran da li sam obuhvatio sve karaktere koji su potrebni, testirano je sa utf-8 enkodingom, postavljena je i ćirilica za to nisam siguran da li je potrebno sve od \u0400 do \u04FF, takođe nisam siguran za ostale znakove pa sam postavio heksadecimalne karaktere od \xC0 do \xFF, možda je potrebno dodati još neki.

Banned - Not available
 
Odgovor na temu

[email protected]
http://localhost

Član broj: 2597
Poruke: 1603

Sajt: localhost


+23 Profil

icon Re: IsCharacter function03.08.2006. u 11:24 - pre 186 meseci
zaboravio sam da na es-u ne prolazi ćirilica.
Banned - Not available
 
Odgovor na temu

ZeRo8
Wien

Član broj: 168
Poruke: 235
*.goethe-wien.at.



Profil

icon Re: IsCharacter function03.08.2006. u 11:40 - pre 186 meseci
Evo i ja sam nesto napisao:

Code:

function isCharacter(str)
    {
        tmpstr = " ";
        for (i = 0; i < str.length; i++)
            {
                if (!((str.charCodeAt(i) >= "65" && str.charCodeAt(i) <= "90") || 
                (str.charCodeAt(i) >= "97" && str.charCodeAt(i) <= "122") || 
                (str.charCodeAt(i) >= "153" && str.charCodeAt(i) <= "157") || 
                (str.charCodeAt(i) >= "128" && str.charCodeAt(i) <= "151") || 
                (str.charCodeAt(i) >= "159" && str.charCodeAt(i) <= "167") || 
                (str.charCodeAt(i) >= "224" && str.charCodeAt(i) <= "238") || 
                (str.charCodeAt(i) >= "244" && str.charCodeAt(i) <= "245") || 
                (str.charAt(i) == tmpstr) || (str.charAt(i) == "."))) return false;
            }
        return true;
    }
 
Odgovor na temu

[email protected]
http://localhost

Član broj: 2597
Poruke: 1603

Sajt: localhost


+23 Profil

icon Re: IsCharacter function03.08.2006. u 14:06 - pre 186 meseci
Sada videh da ne prolaze u mom primeru latinični karakteri
Code:
č ć š đ ž

Trebalo bi dodati i
Code:
\u010D \u0107 \u0161 \u0111 \u017E

Zaboravio sam da testiram gornji kôd za te karaktere. Bio sam testirao, kada sam prvi put probao ovo da realizujem, ali tada su prolazili svi utf karakteri, nešto kao
Code:

String.prototype.isCharacter = function() {
  if(!this || this.length == 0) return false;
  var re = /^([a-z])|(%[C-F]{1}[0-9A-F]{1})|(%u[0-9A-F]{4})$/i
  for(var i=0, len=this.length; i<len; i++) {
    if(!re.exec(escape(this.charAt(i)))) return false;
  }
  return true;
}


[Ovu poruku je menjao [email protected] dana 03.08.2006. u 15:26 GMT+1]
Banned - Not available
 
Odgovor na temu

[es] :: Javascript i AJAX :: IsCharacter function

[ Pregleda: 4649 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.