regex για isbn

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
rafinos
Δημοσιεύσεις: 301
Εγγραφή: 15 Μάιος 2011 00:20
Επικοινωνία:

regex για isbn

Δημοσίευση από rafinos » 17 Φεβ 2012 21:11

θέλω ένα regex για isbn 10 και 13 σε ένα...
βρήκα ένα αλλά είναι μόνο για αριθμό χωρίς παύλες...
κατέληξα σε αυτό αλλά δεν είναι σωστό

Κώδικας: Επιλογή όλων

^{0,1}[0-9]{1}[-]{1}[0-9]{3}[-]{1}[0-9]{5}[-]{1}[0-9]{0,1}$
μήπως έχει κανείς καμιά ιδέα;;;


*δεν θέλω κάποιο από εκείνα που έχουν πρώτα τη λέξη ISBN μπροστά

Άβαταρ μέλους
Panagiotis_Gkatzelidis
Δημοσιεύσεις: 24
Εγγραφή: 18 Οκτ 2011 14:57
Τοποθεσία: Thessaloniki
Επικοινωνία:

regex για isbn

Δημοσίευση από Panagiotis_Gkatzelidis » 18 Φεβ 2012 10:25

Για δες αυτό:

Κώδικας: Επιλογή όλων

\d{3}(-| )\d{1,7}(-| )\d{2,6}(-| )\d{2,6}(-| )([\dx]){1}$
Το βρήκα ως ISBN without checking checksum EDIT: Είναι μόνο για 13

Το πιο σωστό μου φαίνεται αυτό αλλά είναι πάλι χωρίς dashes

Κώδικας: Επιλογή όλων

^(97(8|9))?\d{9}[\dXx]{1}$
Μπορείς για γρήγορα να τεστάρεις εδώ:

http://www.gskinner.com/RegExr/
Panagiotis Gkatzelidis - freelance web designer
// www.pgworks.gr

rafinos
Δημοσιεύσεις: 301
Εγγραφή: 15 Μάιος 2011 00:20
Επικοινωνία:

regex για isbn

Δημοσίευση από rafinos » 19 Φεβ 2012 11:47

Θα προσπαθήσω να το κάνω με το δεύτερο αλλά στην jquery δεν δουλεύει με την match :(

Κώδικας: Επιλογή όλων

function validate_isbn(){
		if&#40;$&#40;'#isbn'&#41;.val&#40;&#41;.length < 1&#41;&#123;
			$&#40;'#ckisbn'&#41;.html&#40;'Το ISBN είναι κενό<br />'&#41;;
			return 1;
		&#125;else&#123;
			var str = $&#40;'#isbn'&#41;.val&#40;&#41;.replace&#40;/-/g, ""&#41;;
			if&#40;str.match&#40;"^&#40;97&#40;8|9&#41;&#41;?\d&#123;9&#125;&#91;\dXx&#93;&#123;1&#125;$"&#41;&#41;&#123;
				$&#40;'#ckisbn'&#41;.html&#40;''&#41;;
				return '';
			&#125;else&#123;
				$&#40;'#ckisbn'&#41;.html&#40;'Η μορφή του ISBN δεν είναι έγκυρη!<br />'&#41;;
				return 1;
			&#125;
		&#125;
	&#125;

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

regex για isbn

Δημοσίευση από fafos » 19 Φεβ 2012 17:17

antekatesthse ta quotes ("....") me backslashes (/..../)
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

rafinos
Δημοσιεύσεις: 301
Εγγραφή: 15 Μάιος 2011 00:20
Επικοινωνία:

regex για isbn

Δημοσίευση από rafinos » 20 Φεβ 2012 20:14

Από ότι είδα δουλεύει απλά λύσε μου μια απορία...
γιατί αυτό δουλεύει

Κώδικας: Επιλογή όλων

str.match&#40;"^&#40;http&#58;\/\/|https&#58;\/\/|http&#58;\/\/www.|https&#58;\/\/www.|ftp&#58;\/\/www.|www.&#41;&#123;1&#125;&#40;&#91;0-9A-Za-z&#93;+\.&#41;"&#41;
και αυτό όχι

Κώδικας: Επιλογή όλων

str.match&#40;"^&#40;97&#40;8|9&#41;&#41;?\d&#123;9&#125;&#91;\dXx&#93;&#123;1&#125;$"&#41;

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

regex για isbn

Δημοσίευση από fafos » 21 Φεβ 2012 03:43

giati exei to dollario ($) sto telos pou stamataei to match.. an exei to quote(") dinei error sthn match kai den douleuei kanonika afou perimenei na teleiosei sto $
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

rafinos
Δημοσιεύσεις: 301
Εγγραφή: 15 Μάιος 2011 00:20
Επικοινωνία:

regex για isbn

Δημοσίευση από rafinos » 21 Φεβ 2012 17:16

Ναι αλλά αυτό πώς δουλεύει;

Κώδικας: Επιλογή όλων

.match&#40;"^&#91;0-9\&#93;+$"&#41;
επειδή υπάρχει το "+" πριν το "$";;;;;;

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες