tests_regex.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288
  1. module("Regex masks");
  2. test("inputmask(\"Regex\", { regex: \"[0-9]*\"});", function () {
  3. var $fixture = $("#qunit-fixture");
  4. $fixture.append('<input type="text" id="testmask" />');
  5. $("#testmask").inputmask("Regex", { regex: "[0-9]*" });
  6. $("#testmask")[0].focus();
  7. $("#testmask").Type("123abc45");
  8. equal($("#testmask").val(), "12345", "Result " + $("#testmask").val());
  9. $("#testmask").remove();
  10. });
  11. asyncTest("inputmask(\"Regex\", { regex: \"[0-9]*\"}); ~ isComplete", function () {
  12. var $fixture = $("#qunit-fixture");
  13. $fixture.append('<input type="text" id="testmask" />');
  14. $("#testmask").inputmask("Regex", {
  15. regex: "[0-9]*", oncomplete: function () {
  16. equal($("#testmask").val(), "1", "Result " + $("#testmask").val());
  17. start();
  18. $("#testmask").remove();
  19. }
  20. });
  21. $("#testmask")[0].focus();
  22. $("#testmask").SendKey("1");
  23. });
  24. test("inputmask(\"Regex\", { regex: \"[A-Za-z\u0410-\u044F\u0401\u04510-9]*\"});", function () {
  25. var $fixture = $("#qunit-fixture");
  26. $fixture.append('<input type="text" id="testmask" />');
  27. $("#testmask").inputmask("Regex", { regex: "[A-Za-z\u0410-\u044F\u0401\u04510-9]*" });
  28. $("#testmask")[0].focus();
  29. $("#testmask").Type("123abc45");
  30. equal($("#testmask").val(), "123abc45", "Result " + $("#testmask").val());
  31. $("#testmask").remove();
  32. });
  33. test("inputmask(\"Regex\", { regex: \"[A-Za-z\u0410-\u044F\u0401\u0451]+[A-Za-z\u0410-\u044F\u0401\u04510-9]*\"});", function () {
  34. var $fixture = $("#qunit-fixture");
  35. $fixture.append('<input type="text" id="testmask" />');
  36. $("#testmask").inputmask("Regex", { regex: "[A-Za-z\u0410-\u044F\u0401\u0451]+[A-Za-z\u0410-\u044F\u0401\u04510-9]*" });
  37. $("#testmask")[0].focus();
  38. $("#testmask").Type("123abc45");
  39. equal($("#testmask").val(), "abc45", "Result " + $("#testmask").val());
  40. $("#testmask").remove();
  41. });
  42. test("inputmask(\"Regex\", { regex: \"[A-Za-z\u0410-\u044F\u0401\u0451]{1}[A-Za-z\u0410-\u044F\u0401\u04510-9]*\"});", function () {
  43. var $fixture = $("#qunit-fixture");
  44. $fixture.append('<input type="text" id="testmask" />');
  45. $("#testmask").inputmask("Regex", { regex: "[A-Za-z\u0410-\u044F\u0401\u0451]{1}[A-Za-z\u0410-\u044F\u0401\u04510-9]*" });
  46. $("#testmask")[0].focus();
  47. $("#testmask").Type("123abc45");
  48. equal($("#testmask").val(), "abc45", "Result " + $("#testmask").val());
  49. $("#testmask").remove();
  50. });
  51. test("inputmask(\"Regex\", { regex: \"[-]?(([1-8][0-9])|[1-9]0?)\"});", function () {
  52. var $fixture = $("#qunit-fixture");
  53. $fixture.append('<input type="text" id="testmask" />');
  54. $("#testmask").inputmask("Regex", { regex: "[-]?(([1-8][0-9])|[1-9]0?)" });
  55. $("#testmask")[0].focus();
  56. $("#testmask").Type("90");
  57. equal($("#testmask").val(), "90", "Result " + $("#testmask").val());
  58. $("#testmask").remove();
  59. });
  60. test("inputmask(\"Regex\", { regex: \"[-]?(([1-8][0-9])|[1-9]0?)\"});", function () {
  61. var $fixture = $("#qunit-fixture");
  62. $fixture.append('<input type="text" id="testmask" />');
  63. $("#testmask").inputmask("Regex", { regex: "[-]?(([1-8][0-9])|[1-9]0?)" });
  64. $("#testmask")[0].focus();
  65. $("#testmask").Type("0");
  66. equal($("#testmask").val(), "", "Result " + $("#testmask").val());
  67. $("#testmask").remove();
  68. });
  69. test("inputmask(\"Regex\", { regex: \"[-]?(([1-8][0-9])|[1-9]0?)\"});", function () {
  70. var $fixture = $("#qunit-fixture");
  71. $fixture.append('<input type="text" id="testmask" />');
  72. $("#testmask").inputmask("Regex", { regex: "[-]?(([1-8][0-9])|[1-9]0?)" });
  73. $("#testmask")[0].focus();
  74. $("#testmask").Type("-78");
  75. equal($("#testmask").val(), "-78", "Result " + $("#testmask").val());
  76. $("#testmask").remove();
  77. });
  78. test("inputmask(\"Regex\", { regex: \"[a-za-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\" - simple regex email", function () {
  79. var $fixture = $("#qunit-fixture");
  80. $fixture.append('<input type="text" id="testmask" />');
  81. $("#testmask").inputmask("Regex", { regex: "[a-za-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?" });
  82. $("#testmask")[0].focus();
  83. $("#testmask").Type("some.body@mail.com");
  84. equal($("#testmask").val(), "some.body@mail.com", "Result " + $("#testmask").val());
  85. $("#testmask").remove();
  86. });
  87. test("inputmask(\"Regex\", { regex: \"[a-za-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\" - complexer regex email", function () {
  88. var $fixture = $("#qunit-fixture");
  89. $fixture.append('<input type="text" id="testmask" />');
  90. $("#testmask").inputmask("Regex", { regex: "[a-za-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?" });
  91. $("#testmask")[0].focus();
  92. $("#testmask").Type("denise.van.de.cruys@mail.com");
  93. equal($("#testmask").val(), "denise.van.de.cruys@mail.com", "Result " + $("#testmask").val());
  94. $("#testmask").remove();
  95. });
  96. test("inputmask(\"Regex\", { regex: \"(([2-9][0-9])-([0-9]{3}-[0-9]{3}))|((1|30|20|70)-([0-9]{3}-[0-9]{4}))\" - mrpanacs regex 1-123-4562", function () {
  97. var $fixture = $("#qunit-fixture");
  98. $fixture.append('<input type="text" id="testmask" />');
  99. $("#testmask").inputmask("Regex", { regex: "(([2-9][0-9])-([0-9]{3}-[0-9]{3}))|((1|30|20|70)-([0-9]{3}-[0-9]{4}))" });
  100. $("#testmask")[0].focus();
  101. $("#testmask").Type("1-123-4562");
  102. equal($("#testmask").val(), "1-123-4562", "Result " + $("#testmask").val());
  103. $("#testmask").remove();
  104. });
  105. test("inputmask(\"Regex\", { regex: \"(([2-9][0-9])-([0-9]{3}-[0-9]{3}))|((1|30|20|70)-([0-9]{3}-[0-9]{4}))\" - mrpanacs regex 20-222-2222", function () {
  106. var $fixture = $("#qunit-fixture");
  107. $fixture.append('<input type="text" id="testmask" />');
  108. $("#testmask").inputmask("Regex", { regex: "(([2-9][0-9])-([0-9]{3}-[0-9]{3}))|((1|30|20|70)-([0-9]{3}-[0-9]{4}))" });
  109. $("#testmask")[0].focus();
  110. $("#testmask").Type("20-222-2222");
  111. equal($("#testmask").val(), "20-222-2222", "Result " + $("#testmask").val());
  112. $("#testmask").remove();
  113. });
  114. test("inputmask(\"Regex\", { regex: \"(([2-9][0-9])-([0-9]{3}-[0-9]{3}))|((1|30|20|70)-([0-9]{3}-[0-9]{4}))\" - mrpanacs regex 22-222-234", function () {
  115. var $fixture = $("#qunit-fixture");
  116. $fixture.append('<input type="text" id="testmask" />');
  117. $("#testmask").inputmask("Regex", { regex: "(([2-9][0-9])-([0-9]{3}-[0-9]{3}))|((1|30|20|70)-([0-9]{3}-[0-9]{4}))" });
  118. $("#testmask")[0].focus();
  119. $("#testmask").Type("22-222-234");
  120. equal($("#testmask").val(), "22-222-234", "Result " + $("#testmask").val());
  121. $("#testmask").remove();
  122. });
  123. test("inputmask(\"Regex\", { regex: \"(([2-9][0-9])-([0-9]{3}-[0-9]{3}))|((1|30|20|70)-([0-9]{3}-[0-9]{4}))\" - mrpanacs regex 70-12-34", function () {
  124. var $fixture = $("#qunit-fixture");
  125. $fixture.append('<input type="text" id="testmask" />');
  126. $("#testmask").inputmask("Regex", { regex: "(([2-9][0-9])-([0-9]{3}-[0-9]{3}))|((1|30|20|70)-([0-9]{3}-[0-9]{4}))" });
  127. $("#testmask")[0].focus();
  128. $("#testmask").Type("70-12-34");
  129. equal($("#testmask").val(), "70-123", "Result " + $("#testmask").val());
  130. $("#testmask").remove();
  131. });
  132. test("inputmask(\"Regex\", { regex: \"([0-9]|[1][0-9]|[2][0-3]?)(\\.(5|25|75))?\" - arame regex 12", function () {
  133. var $fixture = $("#qunit-fixture");
  134. $fixture.append('<input type="text" id="testmask" />');
  135. $("#testmask").inputmask("Regex", { regex: "([0-9]|[1][0-9]|[2][0-3]?)(\\.(5|25|75))?" });
  136. $("#testmask")[0].focus();
  137. $("#testmask").Type("12");
  138. equal($("#testmask").val(), "12", "Result " + $("#testmask").val());
  139. $("#testmask").remove();
  140. });
  141. test("inputmask(\"Regex\", { regex: \"([0-9]|[1][0-9]|[2][0-3]?)(\\.(5|25|75))?\" } - arame regex 12.5", function () {
  142. var $fixture = $("#qunit-fixture");
  143. $fixture.append('<input type="text" id="testmask" />');
  144. $("#testmask").inputmask("Regex", { regex: "([0-9]|[1][0-9]|[2][0-3]?)(\\.(5|25|75))?" });
  145. $("#testmask")[0].focus();
  146. $("#testmask").Type("12.5");
  147. equal($("#testmask").val(), "12.5", "Result " + $("#testmask").val());
  148. $("#testmask").remove();
  149. });
  150. test("inputmask(\"Regex\", { regex: \"([0-9]|[1][0-9]|[2][0-3]?)(\\.(5|25|75))?\" } - arame regex 12.75", function () {
  151. var $fixture = $("#qunit-fixture");
  152. $fixture.append('<input type="text" id="testmask" />');
  153. $("#testmask").inputmask("Regex", { regex: "([0-9]|[1][0-9]|[2][0-3]?)(\\.(5|25|75))?" });
  154. $("#testmask")[0].focus();
  155. $("#testmask").Type("12.75");
  156. equal($("#testmask").val(), "12.75", "Result " + $("#testmask").val());
  157. $("#testmask").remove();
  158. });
  159. test("inputmask('Regex', { regex: \"(abc)+(def)\" }); - Flyarbonkers regex abcdef", function () {
  160. var $fixture = $("#qunit-fixture");
  161. $fixture.append('<input type="text" id="testmask" />');
  162. $("#testmask").inputmask('Regex', { regex: "(abc)+(def)" });
  163. $("#testmask")[0].focus();
  164. $("#testmask").Type("abcdef");
  165. equal($("#testmask").val(), "abcdef", "Result " + $("#testmask").val());
  166. $("#testmask").remove();
  167. });
  168. test("inputmask('Regex', { regex: \"(abc)+(def)\" }); - Flyarbonkers regex 123a4b5c6d7e8f", function () {
  169. var $fixture = $("#qunit-fixture");
  170. $fixture.append('<input type="text" id="testmask" />');
  171. $("#testmask").inputmask('Regex', { regex: "(abc)+(def)" });
  172. $("#testmask")[0].focus();
  173. $("#testmask").Type("123a4b5c6d7e8f");
  174. equal($("#testmask").val(), "abcdef", "Result " + $("#testmask").val());
  175. $("#testmask").remove();
  176. });
  177. test("inputmask('Regex', { regex: \"(abc)+(def)\" }); - Flyarbonkers regex abcabcdef", function () {
  178. var $fixture = $("#qunit-fixture");
  179. $fixture.append('<input type="text" id="testmask" />');
  180. $("#testmask").inputmask('Regex', { regex: "(abc)+(def)" });
  181. $("#testmask")[0].focus();
  182. $("#testmask").Type("abcabcdef");
  183. equal($("#testmask").val(), "abcabcdef", "Result " + $("#testmask").val());
  184. $("#testmask").remove();
  185. });
  186. test("inputmask('Regex', { regex: \"(abc){2,4}(def)\" }); - Flyarbonkers regex abdefcafebcaefbfcabcdef", function () {
  187. var $fixture = $("#qunit-fixture");
  188. $fixture.append('<input type="text" id="testmask" />');
  189. $("#testmask").inputmask('Regex', { regex: "(abc){2,4}(def)" });
  190. $("#testmask")[0].focus();
  191. $("#testmask").Type("abdefcafebcaefbfcabcdef");
  192. equal($("#testmask").val(), "abcabcabcabcdef", "Result " + $("#testmask").val());
  193. $("#testmask").remove();
  194. });
  195. test("inputmask(\"Regex\", {regex: \"[а-яА-Я\\s]*\"}) - type space - SilentImp", function () {
  196. var $fixture = $("#qunit-fixture");
  197. $fixture.append('<input type="text" id="testmask" />');
  198. $("#testmask").inputmask("Regex", { regex: "[а-яА-Я\\s]*" });
  199. $("#testmask")[0].focus();
  200. $("#testmask").SendKey(Inputmask.keyCode.SPACE);
  201. equal($("#testmask").val(), " ", "Result " + $("#testmask").val());
  202. $("#testmask").remove();
  203. });