diff --git a/index.html b/index.html index a9b79053..dc6a92f1 100644 --- a/index.html +++ b/index.html @@ -344,7 +344,15 @@ var textEmailFilter = new Choices('#choices-text-email-filter', { editItems: true, - regexFilter: /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/, + addItemFilterFn: (value) => { + if (!value) { + return false; + } + + const regex = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ + const expression = new RegExp(regex.source, 'i'); + return expression.test(value); + }, }).setValue(['joe@bloggs.com']); var textDisabled = new Choices('#choices-text-disabled', { diff --git a/test/select-multiple.html b/test/select-multiple.html index a2a76212..2b0b4a81 100644 --- a/test/select-multiple.html +++ b/test/select-multiple.html @@ -33,7 +33,6 @@ - @@ -220,10 +219,6 @@ choicesBasic.hideDropdown(); }); - document.querySelector('button.toggle-dropdown').addEventListener('click', () => { - choicesBasic.toggleDropdown(true); - }); - document.querySelector('button.disable').addEventListener('click', () => { choicesBasic.disable(); }); diff --git a/test/text.html b/test/text.html index dd7427f8..1d4ea24e 100644 --- a/test/text.html +++ b/test/text.html @@ -54,9 +54,9 @@ -
- - +
+ +
@@ -64,11 +64,6 @@
-
- - -
-
@@ -117,20 +112,19 @@ maxItemCount: 5, }); - new Choices('#choices-regex-filter', { - regexFilter: /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/, + new Choices('#choices-add-item-filter', { + addItems: true, + addItemFilterFn: (value) => { + const regex = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ + const expression = new RegExp(regex.source, 'i'); + return expression.test(value); + }, }); new Choices('#choices-adding-items-disabled', { addItems: false, }); - new Choices('#choices-add-item-callback', { - addItemFilter: function (value) { - return (value !== 'test') - } - }); - new Choices('#choices-disabled-via-attr'); new Choices('#choices-prepend-append', {