tests_regex.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326
  1. define([
  2. "qunit",
  3. "../dist/inputmask/dependencyLibs/inputmask.dependencyLib",
  4. "../dist/inputmask/inputmask.date.extensions",
  5. "../dist/inputmask/inputmask.extensions",
  6. "../dist/inputmask/inputmask.numeric.extensions",
  7. "../dist/inputmask/inputmask.phone.extensions",
  8. "prototypeExtensions",
  9. "simulator"
  10. ], function(qunit, $, Inputmask) {
  11. qunit.module("Regex masks");
  12. qunit.test("inputmask({ regex: \"[0-9]*\"});", function(assert) {
  13. var $fixture = $("#qunit-fixture");
  14. $fixture.append('<input type="text" id="testmask" />');
  15. var testmask = document.getElementById("testmask");
  16. Inputmask({
  17. regex: "[0-9]*"
  18. }).mask(testmask);
  19. testmask.focus();
  20. $("#testmask").Type("123abc45");
  21. assert.equal(testmask.value, "12345", "Result " + testmask.value);
  22. });
  23. qunit.test("inputmask({ regex: \"[0-9]*\"}); ~ isComplete", function(assert) {
  24. var $fixture = $("#qunit-fixture"), done = assert.async();
  25. $fixture.append('<input type="text" id="testmask" />');
  26. var testmask = document.getElementById("testmask");
  27. Inputmask({
  28. regex: "[0-9]*",
  29. oncomplete: function() {
  30. assert.equal(testmask.value, "1", "Result " + testmask.value);
  31. done();
  32. }
  33. }).mask(testmask);
  34. testmask.focus();
  35. $("#testmask").SendKey("1");
  36. });
  37. qunit.test("inputmask({ regex: \"[A-Za-z\u0410-\u044F\u0401\u04510-9]*\"});", function(assert) {
  38. var $fixture = $("#qunit-fixture");
  39. $fixture.append('<input type="text" id="testmask" />');
  40. var testmask = document.getElementById("testmask");
  41. Inputmask({regex: "[A-Za-z\u0410-\u044F\u0401\u04510-9]*"
  42. }).mask(testmask);
  43. testmask.focus();
  44. $("#testmask").Type("123abc45");
  45. assert.equal(testmask.value, "123abc45", "Result " + testmask.value);
  46. });
  47. qunit.test("inputmask({ regex: \"[A-Za-z\u0410-\u044F\u0401\u0451]+[A-Za-z\u0410-\u044F\u0401\u04510-9]*\"});", function(assert) {
  48. var $fixture = $("#qunit-fixture");
  49. $fixture.append('<input type="text" id="testmask" />');
  50. var testmask = document.getElementById("testmask");
  51. Inputmask({
  52. regex: "[A-Za-z\u0410-\u044F\u0401\u0451]+[A-Za-z\u0410-\u044F\u0401\u04510-9]*"
  53. }).mask(testmask);
  54. testmask.focus();
  55. $("#testmask").Type("123abc45");
  56. assert.equal(testmask.value, "abc45", "Result " + testmask.value);
  57. });
  58. qunit.test("inputmask({ regex: \"[A-Za-z\u0410-\u044F\u0401\u0451]{1}[A-Za-z\u0410-\u044F\u0401\u04510-9]*\"});", function(assert) {
  59. var $fixture = $("#qunit-fixture");
  60. $fixture.append('<input type="text" id="testmask" />');
  61. var testmask = document.getElementById("testmask");
  62. Inputmask({
  63. regex: "[A-Za-z\u0410-\u044F\u0401\u0451]{1}[A-Za-z\u0410-\u044F\u0401\u04510-9]*"
  64. }).mask(testmask);
  65. testmask.focus();
  66. $("#testmask").Type("123abc45");
  67. assert.equal(testmask.value, "abc45", "Result " + testmask.value);
  68. });
  69. qunit.test("inputmask({ regex: \"[-]?(([1-8][0-9])|[1-9]0?)\"});", function(assert) {
  70. var $fixture = $("#qunit-fixture");
  71. $fixture.append('<input type="text" id="testmask" />');
  72. var testmask = document.getElementById("testmask");
  73. Inputmask({
  74. regex: "[-]?(([1-8][0-9])|[1-9]0?)"
  75. }).mask(testmask);
  76. testmask.focus();
  77. $("#testmask").Type("90");
  78. assert.equal(testmask.value, "90", "Result " + testmask.value);
  79. });
  80. qunit.test("inputmask({ regex: \"[-]?(([1-8][0-9])|[1-9]0?)\"});", function(assert) {
  81. var $fixture = $("#qunit-fixture");
  82. $fixture.append('<input type="text" id="testmask" />');
  83. var testmask = document.getElementById("testmask");
  84. Inputmask({
  85. regex: "[-]?(([1-8][0-9])|[1-9]0?)"
  86. }).mask(testmask);
  87. testmask.focus();
  88. $("#testmask").Type("0");
  89. assert.equal(testmask.value, "", "Result " + testmask.value);
  90. });
  91. qunit.test("inputmask({ regex: \"[-]?(([1-8][0-9])|[1-9]0?)\"});", function(assert) {
  92. var $fixture = $("#qunit-fixture");
  93. $fixture.append('<input type="text" id="testmask" />');
  94. var testmask = document.getElementById("testmask");
  95. Inputmask({
  96. regex: "[-]?(([1-8][0-9])|[1-9]0?)"
  97. }).mask(testmask);
  98. testmask.focus();
  99. $("#testmask").Type("-78");
  100. assert.equal(testmask.value, "-78", "Result " + testmask.value);
  101. });
  102. qunit.test("inputmask({ 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-]*)?\" - simple regex email", function(assert) {
  103. var $fixture = $("#qunit-fixture");
  104. $fixture.append('<input type="text" id="testmask" />');
  105. var testmask = document.getElementById("testmask");
  106. Inputmask({
  107. 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])?"
  108. }).mask(testmask);
  109. testmask.focus();
  110. $("#testmask").Type("some.body@mail.com");
  111. assert.equal(testmask.value, "some.body@mail.com", "Result " + testmask.value);
  112. });
  113. qunit.test("inputmask({ 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])?\" - complexer regex email", function(assert) {
  114. var $fixture = $("#qunit-fixture");
  115. $fixture.append('<input type="text" id="testmask" />');
  116. var testmask = document.getElementById("testmask");
  117. Inputmask({
  118. 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])?"
  119. }).mask(testmask);
  120. testmask.focus();
  121. $("#testmask").Type("denise.van.de.cruys@mail.com");
  122. assert.equal(testmask.value, "denise.van.de.cruys@mail.com", "Result " + testmask.value);
  123. });
  124. qunit.test("inputmask({ 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(assert) {
  125. var $fixture = $("#qunit-fixture");
  126. $fixture.append('<input type="text" id="testmask" />');
  127. var testmask = document.getElementById("testmask");
  128. Inputmask({
  129. regex: "(([2-9][0-9])-([0-9]{3}-[0-9]{3}))|((1|30|20|70)-([0-9]{3}-[0-9]{4}))"
  130. }).mask(testmask);
  131. testmask.focus();
  132. $("#testmask").Type("1-123-4562");
  133. assert.equal(testmask.value, "1-123-4562", "Result " + testmask.value);
  134. });
  135. qunit.test("inputmask({ 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(assert) {
  136. var $fixture = $("#qunit-fixture");
  137. $fixture.append('<input type="text" id="testmask" />');
  138. var testmask = document.getElementById("testmask");
  139. Inputmask({
  140. regex: "(([2-9][0-9])-([0-9]{3}-[0-9]{3}))|((1|30|20|70)-([0-9]{3}-[0-9]{4}))"
  141. }).mask(testmask);
  142. testmask.focus();
  143. $("#testmask").Type("20-222-2222");
  144. assert.equal(testmask.value, "20-222-2222", "Result " + testmask.value);
  145. });
  146. qunit.test("inputmask({ 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(assert) {
  147. var $fixture = $("#qunit-fixture");
  148. $fixture.append('<input type="text" id="testmask" />');
  149. var testmask = document.getElementById("testmask");
  150. Inputmask({
  151. regex: "(([2-9][0-9])-([0-9]{3}-[0-9]{3}))|((1|30|20|70)-([0-9]{3}-[0-9]{4}))"
  152. }).mask(testmask);
  153. testmask.focus();
  154. $("#testmask").Type("22-222-234");
  155. assert.equal(testmask.value, "22-222-234", "Result " + testmask.value);
  156. });
  157. qunit.test("inputmask({ 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(assert) {
  158. var $fixture = $("#qunit-fixture");
  159. $fixture.append('<input type="text" id="testmask" />');
  160. var testmask = document.getElementById("testmask");
  161. Inputmask({
  162. regex: "(([2-9][0-9])-([0-9]{3}-[0-9]{3}))|((1|30|20|70)-([0-9]{3}-[0-9]{4}))"
  163. }).mask(testmask);
  164. testmask.focus();
  165. $("#testmask").Type("70-12-34");
  166. assert.equal(testmask.value, "70-123", "Result " + testmask.value);
  167. });
  168. qunit.test("inputmask({ regex: \"([0-9]|[1][0-9]|[2][0-3]?)(\\.(5|25|75))?\" - arame regex 12", function(assert) {
  169. var $fixture = $("#qunit-fixture");
  170. $fixture.append('<input type="text" id="testmask" />');
  171. var testmask = document.getElementById("testmask");
  172. Inputmask({
  173. regex: "([0-9]|[1][0-9]|[2][0-3]?)(\\.(5|25|75))?"
  174. }).mask(testmask);
  175. testmask.focus();
  176. $("#testmask").Type("12");
  177. assert.equal(testmask.value, "12", "Result " + testmask.value);
  178. });
  179. qunit.test("inputmask({ regex: \"([0-9]|[1][0-9]|[2][0-3]?)(\\.(5|25|75))?\" } - arame regex 12.5", function(assert) {
  180. var $fixture = $("#qunit-fixture");
  181. $fixture.append('<input type="text" id="testmask" />');
  182. var testmask = document.getElementById("testmask");
  183. Inputmask({
  184. regex: "([0-9]|[1][0-9]|[2][0-3]?)(\\.(5|25|75))?"
  185. }).mask(testmask);
  186. testmask.focus();
  187. $("#testmask").Type("12.5");
  188. assert.equal(testmask.value, "12.5", "Result " + testmask.value);
  189. });
  190. qunit.test("inputmask({ regex: \"([0-9]|[1][0-9]|[2][0-3]?)(\\.(5|25|75))?\" } - arame regex 12.75", function(assert) {
  191. var $fixture = $("#qunit-fixture");
  192. $fixture.append('<input type="text" id="testmask" />');
  193. var testmask = document.getElementById("testmask");
  194. Inputmask({
  195. regex: "([0-9]|[1][0-9]|[2][0-3]?)(\\.(5|25|75))?"
  196. }).mask(testmask);
  197. testmask.focus();
  198. $("#testmask").Type("12.75");
  199. assert.equal(testmask.value, "12.75", "Result " + testmask.value);
  200. });
  201. qunit.test("inputmask({ regex: \"(abc)+(def)\" }); - Flyarbonkers regex abcdef", function(assert) {
  202. var $fixture = $("#qunit-fixture");
  203. $fixture.append('<input type="text" id="testmask" />');
  204. var testmask = document.getElementById("testmask");
  205. Inputmask({
  206. regex: "(abc)+(def)",
  207. jitMasking: true
  208. }).mask(testmask);
  209. testmask.focus();
  210. $("#testmask").Type("abcdef");
  211. assert.equal(testmask.value, "abcdef", "Result " + testmask.value);
  212. });
  213. qunit.test("inputmask({ regex: \"(abc)+(def)\" }); - Flyarbonkers regex 123a4b5c6d7e8f", function(assert) {
  214. var $fixture = $("#qunit-fixture");
  215. $fixture.append('<input type="text" id="testmask" />');
  216. var testmask = document.getElementById("testmask");
  217. Inputmask({
  218. regex: "(abc)+(def)",
  219. jitMasking: true
  220. }).mask(testmask);
  221. testmask.focus();
  222. $("#testmask").Type("123a4b5c6d7e8f");
  223. assert.equal(testmask.value, "abcdef", "Result " + testmask.value);
  224. });
  225. qunit.test("inputmask({ regex: \"(abc)+(def)\" }); - Flyarbonkers regex abcabcdef", function(assert) {
  226. var $fixture = $("#qunit-fixture");
  227. $fixture.append('<input type="text" id="testmask" />');
  228. var testmask = document.getElementById("testmask");
  229. Inputmask({
  230. regex: "(abc)+(def)",
  231. jitMasking: true
  232. }).mask(testmask);
  233. testmask.focus();
  234. $("#testmask").Type("abcabcdef");
  235. assert.equal(testmask.value, "abcabcdef", "Result " + testmask.value);
  236. });
  237. qunit.test("inputmask({ regex: \"(abc){2,4}(def)\" }); - Flyarbonkers regex abcafebcaefbfcabcdef", function(assert) {
  238. var $fixture = $("#qunit-fixture");
  239. $fixture.append('<input type="text" id="testmask" />');
  240. var testmask = document.getElementById("testmask");
  241. Inputmask({
  242. regex: "(abc){2,4}(def)",
  243. jitMasking: true
  244. }).mask(testmask);
  245. testmask.focus();
  246. $("#testmask").Type("abcafebcaefbfcabcdef");
  247. assert.equal(testmask.value, "abcabcabcabcdef", "Result " + testmask.value);
  248. });
  249. qunit.test("inputmask({regex: \"[а-яА-Я\\s]*\"}) - type space - SilentImp", function(assert) {
  250. var $fixture = $("#qunit-fixture");
  251. $fixture.append('<input type="text" id="testmask" />');
  252. var testmask = document.getElementById("testmask");
  253. Inputmask({
  254. regex: "[а-яА-Я\\s]*"
  255. }).mask(testmask);
  256. testmask.focus();
  257. $("#testmask").SendKey(Inputmask.keyCode.SPACE);
  258. assert.equal(testmask.value, " ", "Result " + testmask.value);
  259. });
  260. });