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

IsCharacter function

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

[ Pregleda: 2564 | 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

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;
    }
02.08.2006. u 11:54 

Br@nkoR
http://localhost

Član broj: 2597
Poruke: 1603
*.ptt.yu.

Sajt: localhost


Profil

icon Re: IsCharacter function03.08.2006. u 11:21
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
03.08.2006. u 11:21 

Br@nkoR
http://localhost

Član broj: 2597
Poruke: 1603
*.ptt.yu.

Sajt: localhost


Profil

icon Re: IsCharacter function03.08.2006. u 11:24
Laptopovi

zaboravio sam da na es-u ne prolazi ćirilica.
Banned - Not available
03.08.2006. u 11:24 

ZeRo8
Wien

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



Profil

icon Re: IsCharacter function03.08.2006. u 11:40
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;
    }
03.08.2006. u 11:40 

Br@nkoR
http://localhost

Član broj: 2597
Poruke: 1603
*.ptt.yu.

Sajt: localhost


Profil

icon Re: IsCharacter function03.08.2006. u 14:06
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 Br@nkoR dana 03.08.2006. u 15:26 GMT+1]
Banned - Not available
03.08.2006. u 14:06 

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

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

Postavi temu Odgovori

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