^\d{1,9}(?:,\d{1,9})*$
Använd sedan en längdfunktion i aktuellt språk för att kolla längden; alltså
if myString.length <= 2000 and /^\d{1,9}(?:,\d{1,9})*$/.test(myString) then
...
6 svar · 845 visningar · startad av Dino
Eftersom det inte finns något eget forum för Regular Expressions så lägger jag frågan här.
Vill acceptera en sträng som:
- Börjar med ett heltal (1-999999999)
- Om ett till heltal följer så skall detta separeras från föregående med ett kommatecken(,)
- Det får inte förekomma några andra tecken än siffror och kommatecken
- Strängen får max vara 2000 tecken.
Exempel (rätt):
18,9182,2347290,78,23
843
9832,198237
Exempel (fel):
827,
484435,23, 345635,2343
2323,28394029382,45,125
,12143,123,466
29,234s,12313
^\d{1,9}(?:,\d{1,9})*$
Använd sedan en längdfunktion i aktuellt språk för att kolla längden; alltså
if myString.length <= 2000 and /^\d{1,9}(?:,\d{1,9})*$/.test(myString) then
...
Skulle behöva ytterliggare en version.
Vill acceptera en sträng som:
- Börjar med en #, följs åt av 1-50 valfria tecken, sen avslutas med en #.
- Om en till delsträng enligt ovan modell följer så skall denna separeras från föregående med ett kommatecken(,)
- Delsträngen får innehålla alla världens tecken utom (#), (,) och (mellanslag).
Exempel (rätt):
#1b#,#jj_に9は#,#_A_A][@#,#Здравствулте!#,#ÅÄÖåäöûü#
#여보세요#
#9832#,#198237#
Exempel (fel):
827,
#48равс5#,#23#, #345635#,#2343#
#2323#,#28394,029382#,#45#,#125#
,#12143#,#123#,#466#
#равс##
#여보세요
Typ
^#[^#]{1,50}#(,#[^#]{1,50}#)*$
Dvs, börja med en brädgård, följd av 1-50 icke-brädgårdar, följd av brädgård, ev följt av godtyckligt antal liknande sekvenser separerade med kommatecken.
Sen är nog Programmering - övrigt ett bättre forum för detta eftersom regexpar inte har någon inneboende koppling till webbutveckling.
Ett litet tillägg och det fungerade hur fint som helst. Tackar.
^#[^#^,^ ]{1,50}#(,#[^#^,^ ]{1,50}#)*$
Spango skrev:
Sen är nog Programmering - övrigt ett bättre forum för detta eftersom regexpar inte har någon inneboende koppling till webbutveckling.
Eller än bättre, ett eget forum för Regular Expressions. Ja, just de. De tog de ju bort. ;)
Tillägget ser lite mysko ut, du behöver bara ett tak:
^#[^#, ]{1,50}#(,#[^#, ]{1,50}#)*$
Du kan ev. vilja byta ut mellanslagen i mönstret mot \s så får du med radbrytningar och tabbar också.
Dino skrev:
Eller än bättre, ett eget forum för Regular Expressions. Ja, just de. De tog de ju bort. ;)
Would you like som cheese with that whine, sir? :p