Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyrażenia regularne z php do js
Forum PHP.pl > Forum > Po stronie przegl±darki > JavaScript
php programmer
Czy to możliwe zeby JS interpretowala inaczej wyrazenia regularne niz php
otoz mam taki wzorzec, ktory sluzy do przepuszczania tylko liter

/^([a-zA-Zęó±¶łżĽćńÓˇ¦ŁŻ¬ĆŃ]+)\Z/
ktory dziala prawidkowo w php

natomiast w JS juz nie

PS. dodatkowo jesli usune poczatek i koniec tzn bedzie:
[a-zA-Zęó±¶łżĽćńÓˇ¦ŁŻ¬ĆŃ]
to JS zadziala ale juz nie tak jak trzeba, bo JS powie OK jak znajdzie wogole jakas litere, a chodzi o to zeby w tekscie byly tylko litery (np znak na 5 JS powininien powiedziec NIE)


Czy to mozliwe zeby wyrazenia regularne z php nie dzialaly w JS ?
nospor
piszesz sam ze chodzi ci js. czemu wiec od razu nie wrzucisz do wlasciwego dzialu? Przenoszę
php programmer
myslalem ze wrzucam do JS, musialem pomylic ...
edit
no nie mowcie ze nikt nie wie..?
FiDO
W Javascriptowych wyrazeniach nie istnieje cos takiego jak \Z. Musisz to zastapic.
Radarek
Cytat(php programmer @ 2006-01-18 11:56:02)
Czy to możliwe zeby JS interpretowala inaczej wyrazenia regularne niz php

Oczywiscie, ze mozliwe. Jest wiele standardow wyrazen regularnych, ktore roznia sie miedzy soba. Funkcje z serii preg_* obsluguja np regexy kompatybilne z perlowymi regexami. Korzysta z bilbioteki PCRE.
Cytat
PCRE - Perl-compatible regular expressions


Co nie znaczy, ze jest w 100% kompatybilna.

Cytat
8. Fairly obviously, PCRE does not support the (?{code}) and (?p{code})
constructions.  However,  there is support for recursive patterns using
the non-Perl items (?R),  (?number),  and  (?P>name).  Also,  the  PCRE
"callout"  feature allows an external function to be called during tern matching. See the pcrecallout documentation for details.
php programmer
W takim razie czy ktos zna jakas dobrze napisana
specyfikacje wyrazen regularnych dla javascript ?
Jakies linki?
Radarek
Ja tam poszukalbym na google.
http://www.google.com/search?sourceid=navc...pt+regex+syntax

JS nie jest moja dzialka, wiec nie wiem na ile te specyfikacje sa wyczerpujace:
http://www.johnrobertmorris.com/dev/Regex.asp
http://www.regular-expressions.info/javascript.html
http://www.javascriptkit.com/javatutors/re2.shtml
php programmer
troche sie nameczylem zanim w koncu cos napisalem,
a kod nie jest wcale dlugi, dlatego zeby oszczedzic co niektorym czasu,
a noz sie komus przyda, daje ponizej kilka podstawowych fukcji sprawdzajacych
poprawnosc juz po stronie klienta.


edit - kilka drobnych poprawek
Kod
function IsMoney(str){
reg = /^[0-9]{1,5}([\,\.][0-9]{2}){0,1}$/;
if (reg.test(str)) return true; else return false;
}

function IsWord(str){
reg  = /^[a-zA-Zęó±¶łżĽćń Óˇ¦ŁŻ¬ĆŃ]*$/;
if (reg.test(str)) return true; else return false;
}

function IsPostalCode(str){
reg  = /^(([0-9]{2})-([0-9]{3})){0,1}$/;
if (reg.test(str)) return true; else return false;
}

function IsEmail(str){
reg  = /^(([\da-zA-Z\-_\.]+)@([\da-zA-Z\._\-]+)){0,1}$/;
if (reg.test(str)) return true; else return false;
}

function IsPhone(str){
reg  = /^([0-9 \-\(\)]*)$/;
if (reg.test(str)) return true; else return false;
}
FiDO
Ja korzystam z tego: http://synchro.net/docs/js/ref/
To jest wersja lo-fi głównej zawarto¶ci. Aby zobaczyć pełn± wersję z większ± zawarto¶ci±, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.