Jump to content

Maza palīdzība ar RegEx nepieciešama


Arnis`85
 Share

Recommended Posts

'bvakars lasītājiem. Cīnos te ar vienu mazu iekšējās lietošanas Web lapeli, kurai vajadzētu stipri atvieglot darbu puišiem, kas noliktavā vada rzerves daļu atskaites. Izmantoju ievades lauku validāciju pirms iesūtīšanas serverī, ko realizēju ar jQuery validate pluginu, kas darbojas ar RegEx izteicieniem.

 

Uzrakstītā jau strādājošā koda paraudziņš:

if($(this).hasClass('detalas_kods') == true){
 var detalaskodsReg = /^([0-6])([0-9]{0,14})$/;
 if(!detalaskodsReg.test(inputVal)){
	 $parentTag.addClass('kluda_logs').append($error.clone().text(' Ievadītais kods neatbilst standartam, pārbaudi vēlreiz ! '));
 }
}

 

Ar vienkāršākajām validācijām (15 ciparu kods, kur pirmais cipars nav lielāks par 6, utml.) tiku galā pats, palasoties regex dokumentāciju un iesācēju paraugus. Bet, diemžēl, pēdējie sīkumi lai pabeigtu šito visu, nav pa zobam - nu dikti vajag palīdzību no kāda forumieša. Tātad -

  • Jāpārbauda, vai laukā ir ievadīts kods, kuram kaut kur pa vidu vai vienā no galiem ir viens no trim saīsinājumiem (ACC, ACS, BFG).
    Atgriezt Fail, ja ir divi no šiem, vai nav neviena no šiem.
  • Jāpārbauda, vai laukā ir ievadīts kods, kuram pēc trešā cipara ir zvaigznīte (*) vai defise (-)
    Atgriezt Fail, ja zvaigznīte vai defise ir kautkur citur, vai nav vispār, vai ir abas iesitušās

Izmēģināju dažus no internetā pieejamajiem RegEx editoriem un ģeneratoriem - diemžēl viņi tomēr ir par sarežģītu, savukārt tādi, kas izskatās radīti tieši priekš tādiem dilentantiem kā es, maksā pamatīgu $$, kurš lieks apkārt nemētājas. :(

Labots - Arnis`85
Link to comment
Share on other sites

Tavs apraksts ir nesaprotams, bet te būtu mana pieeja:

1. notīri input ar trim() un pārbaudi stringa garumu

2. liec lietā regex(šis ir java): "^[0-6][0-9]{2}" + "(\\*|\\-)" + "[0-9]{0,12}(ACC|ACS|BFG)[0-9]{0,12}$"

 

Kā pieņemami strings ir, piemēram, "123-ACC123456789012", "123*12345BFG6789012", "123-123456789012ACS".

Link to comment
Share on other sites

Izveido kontu, vai pieraksties esošajā, lai komentētu

Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas

Izveidot jaunu kontu

Piereģistrējies un izveido jaunu kontu, tas būs viegli!

Reģistrēt jaunu kontu

Pierakstīties

Jums jau ir konts? Pierakstieties tajā šeit!

Pierakstīties tagad!
 Share

×
×
  • Izveidot jaunu...