ソースを参照

:octocat: regex fix (#282)

smiley 1 年間 前
コミット
f822e807d7
2 ファイル変更10 行追加1 行削除
  1. 1 1
      src/Data/AlphaNum.php
  2. 9 0
      tests/Data/AlphaNumTest.php

+ 1 - 1
src/Data/AlphaNum.php

@@ -36,7 +36,7 @@ final class AlphaNum extends QRDataModeAbstract{
 	}
 
 	public static function validateString(string $string):bool{
-		return (bool)preg_match('#^['.self::CHAR_MAP.']+$#', $string);
+		return (bool)preg_match('/^[A-Z\d %$*+-.:\/]+$/', $string);
 	}
 
 	public function write(BitBuffer $bitBuffer, int $versionNumber):static{

+ 9 - 0
tests/Data/AlphaNumTest.php

@@ -34,6 +34,15 @@ final class AlphaNumTest extends DataInterfaceTestAbstract{
 		return [
 			['ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 $%*+-./:', true],
 			['abc', false],
+			['ÄÖÜ', false],
+			[',', true],
+			['-', true],
+			['+', true],
+			['.', true],
+			['*', true],
+			[':', true],
+			['/', true],
+			['\\', false],
 		];
 	}