[{"id":"29a4ab0f-edd1-45e1-87df-0b8b4bb068b3","tags":[{"product":null,"links":null,"id":"c3c0ef13-c7a9-4649-9fcb-23b3abec175d","name":"New","color":"Red","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"64b61a79-5817-4746-b591-28d4d5462c0a","tags":[{"product":null,"links":null,"id":"c3c0ef13-c7a9-4649-9fcb-23b3abec175d","name":"New","color":"Red","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"6edef660-641f-4cd8-84f6-571130f37ae2","tags":[{"product":null,"links":null,"id":"c3c0ef13-c7a9-4649-9fcb-23b3abec175d","name":"New","color":"Red","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"89a3ee5c-06c4-49c4-ac61-8325ba4bcca1","tags":[{"product":null,"links":null,"id":"c3c0ef13-c7a9-4649-9fcb-23b3abec175d","name":"New","color":"Red","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"1e898427-e706-440e-9077-b35c7a5b8f46","tags":[{"product":null,"links":null,"id":"c3c0ef13-c7a9-4649-9fcb-23b3abec175d","name":"New","color":"Red","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"4266ec12-a87a-444b-a8af-beff39a7defe","tags":[{"product":null,"links":null,"id":"c3c0ef13-c7a9-4649-9fcb-23b3abec175d","name":"New","color":"Red","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"fd867fe6-72e0-4e45-bbac-edc72e608b08","tags":[{"product":null,"links":null,"id":"c3c0ef13-c7a9-4649-9fcb-23b3abec175d","name":"New","color":"Red","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"fad338cd-7c96-48b9-a12d-1b979ba886b2","tags":[{"product":null,"links":null,"id":"c3c0ef13-c7a9-4649-9fcb-23b3abec175d","name":"New","color":"Red","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"6fb42249-b832-4656-9137-35d9948bea1c","tags":[{"product":null,"links":null,"id":"c3c0ef13-c7a9-4649-9fcb-23b3abec175d","name":"New","color":"Red","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"6e353a93-c1d4-4387-bad5-4a07fd18ed3a","tags":[{"product":null,"links":null,"id":"2f377cfe-f512-431a-895b-f89af32041ce","name":"Upd","color":"Blue","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"acbe820e-65b4-4bd6-bcf3-a9d5b16163da","tags":[{"product":null,"links":null,"id":"c3c0ef13-c7a9-4649-9fcb-23b3abec175d","name":"New","color":"Red","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"167a076a-6a93-49f6-8bf8-adee9abd9817","tags":[{"product":null,"links":null,"id":"c3c0ef13-c7a9-4649-9fcb-23b3abec175d","name":"New","color":"Red","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"7fb1e240-d39d-4391-986f-c2d40adfb011","tags":[{"product":null,"links":null,"id":"2f377cfe-f512-431a-895b-f89af32041ce","name":"Upd","color":"Blue","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"09cc5e9f-99c9-4258-b69c-ca5bb09a6b16","tags":[{"product":null,"links":null,"id":"2f377cfe-f512-431a-895b-f89af32041ce","name":"Upd","color":"Blue","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"0b4ea8fb-4e7b-4028-9393-d1177a68ec17","tags":[{"product":null,"links":null,"id":"c3c0ef13-c7a9-4649-9fcb-23b3abec175d","name":"New","color":"Red","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"35b8ea08-9ca6-49eb-a021-0c806de4ff96","tags":[{"product":null,"links":null,"id":"c3c0ef13-c7a9-4649-9fcb-23b3abec175d","name":"New","color":"Red","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"7bace066-1638-4034-82eb-0db8c15f5bd1","tags":[{"product":null,"links":null,"id":"2f377cfe-f512-431a-895b-f89af32041ce","name":"Upd","color":"Blue","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"7ec5ea8e-419f-40aa-b67d-301fa3e7b025","tags":[{"product":null,"links":null,"id":"c3c0ef13-c7a9-4649-9fcb-23b3abec175d","name":"New","color":"Red","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"38f78942-4ca0-4631-a2d8-32dcfd6157a6","tags":[{"product":null,"links":null,"id":"c3c0ef13-c7a9-4649-9fcb-23b3abec175d","name":"New","color":"Red","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"fc1d5e2a-5d1c-4479-ac87-c726c03d49aa","tags":[{"product":null,"links":null,"id":"c3c0ef13-c7a9-4649-9fcb-23b3abec175d","name":"New","color":"Red","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"dd70702b-48a7-4896-b92d-db78ff9e52b0","tags":[{"product":null,"links":null,"id":"2f377cfe-f512-431a-895b-f89af32041ce","name":"Upd","color":"Blue","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"cda2a866-9746-4790-9942-13c450ece8a1","tags":[{"product":null,"links":null,"id":"c3c0ef13-c7a9-4649-9fcb-23b3abec175d","name":"New","color":"Red","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"3239f53b-81be-4d67-ae63-7ca0d6ce0f91","tags":[{"product":null,"links":null,"id":"2f377cfe-f512-431a-895b-f89af32041ce","name":"Upd","color":"Blue","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"74c2daa1-efb0-4d3e-bd0c-8d11b297c92d","tags":[{"product":null,"links":null,"id":"c3c0ef13-c7a9-4649-9fcb-23b3abec175d","name":"New","color":"Red","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"a4268f67-693d-4933-9e22-a77d68880a13","tags":[{"product":null,"links":null,"id":"2f377cfe-f512-431a-895b-f89af32041ce","name":"Upd","color":"Blue","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"9f17896b-55b4-4627-8b6d-b01fdabdffe7","tags":[{"product":null,"links":null,"id":"c3c0ef13-c7a9-4649-9fcb-23b3abec175d","name":"New","color":"Red","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"e45c5458-c148-4de7-a471-e2e3808d841e","tags":[{"product":null,"links":null,"id":"2f377cfe-f512-431a-895b-f89af32041ce","name":"Upd","color":"Blue","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"ac44f25f-d7e5-46a3-a247-33e23e20e956","tags":[{"product":null,"links":null,"id":"2f377cfe-f512-431a-895b-f89af32041ce","name":"Upd","color":"Blue","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"feb10296-b21e-4506-8d7e-567ed4dda994","tags":[{"product":null,"links":null,"id":"c3c0ef13-c7a9-4649-9fcb-23b3abec175d","name":"New","color":"Red","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"ebba2e23-2c8d-4948-8cca-91ce71b3183d","tags":[{"product":null,"links":null,"id":"2f377cfe-f512-431a-895b-f89af32041ce","name":"Upd","color":"Blue","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"ebdc80a9-26fc-4420-af7f-e576e4f12820","tags":[{"product":null,"links":null,"id":"2f377cfe-f512-431a-895b-f89af32041ce","name":"Upd","color":"Blue","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"2cb68b65-34df-4322-911c-ead14627af13","tags":[{"product":null,"links":null,"id":"2f377cfe-f512-431a-895b-f89af32041ce","name":"Upd","color":"Blue","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"0f2df6ef-74f6-42d5-a6ff-fb830bac6bc1","tags":[{"product":null,"links":null,"id":"c3c0ef13-c7a9-4649-9fcb-23b3abec175d","name":"New","color":"Red","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"1feb74f5-775b-4809-80bb-1757ff6070f9","tags":[{"product":null,"links":null,"id":"2f377cfe-f512-431a-895b-f89af32041ce","name":"Upd","color":"Blue","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"d8afaaaf-0174-4a14-8ba1-59043a985e91","tags":[{"product":null,"links":null,"id":"c3c0ef13-c7a9-4649-9fcb-23b3abec175d","name":"New","color":"Red","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"7fd72fd2-933b-4816-81d1-b9e9d86b7c2c","tags":[{"product":null,"links":null,"id":"c3c0ef13-c7a9-4649-9fcb-23b3abec175d","name":"New","color":"Red","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"9cf8d438-a37d-4dea-b0dd-e15d187e19ed","tags":[{"product":null,"links":null,"id":"2f377cfe-f512-431a-895b-f89af32041ce","name":"Upd","color":"Blue","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"01561aea-2cd9-4883-a29a-1a7b9df2e432","tags":[{"product":null,"links":null,"id":"2f377cfe-f512-431a-895b-f89af32041ce","name":"Upd","color":"Blue","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"ec2f2f29-d5a6-4fa0-aa61-353d48af9d1b","tags":[{"product":null,"links":null,"id":"2f377cfe-f512-431a-895b-f89af32041ce","name":"Upd","color":"Blue","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"efb477ff-7d55-4163-a55e-a3c64415f6a4","tags":[{"product":null,"links":null,"id":"2f377cfe-f512-431a-895b-f89af32041ce","name":"Upd","color":"Blue","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"c2302058-2cde-443c-a67f-e77cfd399c2e","tags":[{"product":null,"links":null,"id":"2f377cfe-f512-431a-895b-f89af32041ce","name":"Upd","color":"Blue","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"a61a4e1a-eaea-4814-a424-e3c1ca6e3818","tags":[{"product":null,"links":null,"id":"2f377cfe-f512-431a-895b-f89af32041ce","name":"Upd","color":"Blue","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"cb0d722f-fb48-45b5-a612-ff2df9b2e56e","tags":[{"product":null,"links":null,"id":"2f377cfe-f512-431a-895b-f89af32041ce","name":"Upd","color":"Blue","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"50d0749d-1dde-4d8d-8963-e605f3a89b7a","tags":[{"product":null,"links":null,"id":"c3c0ef13-c7a9-4649-9fcb-23b3abec175d","name":"New","color":"Red","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"900c820c-2909-4065-be81-72d3ca7733de","tags":[{"product":null,"links":null,"id":"c3c0ef13-c7a9-4649-9fcb-23b3abec175d","name":"New","color":"Red","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"fac7dd69-11b1-42ee-8c1e-a41c97f4c3ee","tags":[{"product":null,"links":null,"id":"c3c0ef13-c7a9-4649-9fcb-23b3abec175d","name":"New","color":"Red","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"9a357d48-c648-4ddb-8c79-2dc97bea6bc9","tags":[{"product":null,"links":null,"id":"c3c0ef13-c7a9-4649-9fcb-23b3abec175d","name":"New","color":"Red","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"d5de4b91-714d-4c4c-8619-4b88fae85046","tags":[{"product":null,"links":null,"id":"c3c0ef13-c7a9-4649-9fcb-23b3abec175d","name":"New","color":"Red","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"3741b662-b556-4859-8720-4c79fd48d48a","tags":[{"product":null,"links":null,"id":"2f377cfe-f512-431a-895b-f89af32041ce","name":"Upd","color":"Blue","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"72db3e84-44c5-4d07-86b1-5f866a897e83","tags":[{"product":null,"links":null,"id":"2f377cfe-f512-431a-895b-f89af32041ce","name":"Upd","color":"Blue","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"2a701ccf-5692-4ff9-9e44-62d6ec379397","tags":[{"product":null,"links":null,"id":"2f377cfe-f512-431a-895b-f89af32041ce","name":"Upd","color":"Blue","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"d2087e5d-f90d-4827-a383-ff828bd65c69","tags":[{"product":null,"links":null,"id":"c3c0ef13-c7a9-4649-9fcb-23b3abec175d","name":"New","color":"Red","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"bbf41a2c-98d3-4b54-82fb-a51c8441957e","tags":[{"product":null,"links":null,"id":"c3c0ef13-c7a9-4649-9fcb-23b3abec175d","name":"New","color":"Red","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"477eb38f-0505-42fc-85ee-7456d81833e8","tags":[{"product":null,"links":null,"id":"2f377cfe-f512-431a-895b-f89af32041ce","name":"Upd","color":"Blue","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"d9f37084-fcee-49d5-a192-8c41ee5615ed","tags":[{"product":null,"links":null,"id":"c3c0ef13-c7a9-4649-9fcb-23b3abec175d","name":"New","color":"Red","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"067eb4be-9082-4153-8754-3bd0106a16ef","tags":[{"product":null,"links":null,"id":"c3c0ef13-c7a9-4649-9fcb-23b3abec175d","name":"New","color":"Red","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"e943752e-d665-4133-ab1e-b6089d61b68a","tags":[{"product":null,"links":null,"id":"c3c0ef13-c7a9-4649-9fcb-23b3abec175d","name":"New","color":"Red","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]},{"id":"d573ae98-998d-4070-b089-620789e0738b","tags":[{"product":null,"links":null,"id":"2f377cfe-f512-431a-895b-f89af32041ce","name":"Upd","color":"Blue","productId":"c15646e4-63d8-4965-8d62-7549a2986e99"}]}]
An input mask is a string of characters that defines the format of input expected from the user. Masking an input reduces the chances of errors in data and helps maintain consistency in the database, making it easier to analyze and process data. You can create masks using user-generated rules consisting of patterns, placeholders, masking characters, etc.
SpreadJS provides a mask property and a pattern option to set the input mask. You can use the placeholder option to specify the placeholder. A placeholder is a string of characters that displays in the input field, represents the expected input format, and guides the user to provide input as per the format. If the user does not specify a placeholder, SpreadJS uses "_" by default. You can choose whether to display the placeholder character in the input string using the excludePlaceholder option.
For instance, if a mask pattern is "000000" and "_" is a placeholder, the blank input field displays "______" to indicate the required format of 6 digits. If the excludePlaceholder option is set to false (default) and the user inputs "1234", the input is saved as "1234____" after exiting edit mode. And when the option is true, the input is stored as "1234", that is, the placeholder is excluded.
Similarly, you can also exclude the literal characters by setting the excludeLiteral to true. Literals are characters that are displayed as it is at a specific position and cannot be replaced by any other character. Parentheses and hyphens used in phone numbers or a forward slash in date formats are a few examples.
The following code shows how to set an input mask:
style = new GC.Spread.Sheets.Style();
style.mask = {
pattern: "[a0]{8}",
excludePlaceholder: true
};
sheet.setStyle(14, 0, style);
style1 = new GC.Spread.Sheets.Style();
style1.mask = {
pattern: "Au\\t\\hor: (Chris|Icey|Victor|Ian|Johnson|Ivan)",
excludeLiteral: true
};
sheet.setStyle(15, 0, style1);
If a user inputs a character when the cursor is at placeholder, the new character replaces the placeholder character. In other cases, the new character is inserted. In case user input does not match the pattern, SpreadJS keeps the parts that match the pattern from left to right and drops the remaining invalid parts. However, when a user deletes some text, it deletes the current restriction content only. For instance, in the case of pattern ‘a{3}0{3}’, if a user starts deleting from the left most character of input, SpreadJS allows deletion of first three characters of the current restriction. To delete the remaining input, the user has to place the cursor in the beginning of the next restriction.
To confirm if a pattern is valid or not, SpreadJS provides a static method validatePattern. The following code shows how to use the validatePattern method to validate a pattern:
let sheet = spread.getActiveSheet();
let style = new GC.Spread.Sheets.Style();
let pattern = 'ISBN 0-00000-000-0';
let verifyResult = GC.Spread.Sheets.InputMask.validatePattern('[a0_]{8}');
if (verifyResult.success) {
style.mask = {
pattern: 'ISBN 0-00000-000-0'
};
sheet.setStyle(0,0,style);
}
Mask patterns are of two types:
String pattern
Date pattern
A string pattern is the simplest way of defining input format and is constructed using the minimum pattern unit. A minimum pattern unit consists of a character restriction and, optionally, a character length restriction. When character length restriction is not specified, it is considered to be one character. The following table defines various rules for creating patterns using these two types of restrictions.
Restriction type | Category | Pattern Character | Explanation | Sample Pattern | Display('_’ as placeholder) | Input | Output |
---|---|---|---|---|---|---|---|
Character length | Letters | a | Letter | aaa | ___ | abc | abc |
> | Letter auto-converted to uppercase | > | _ | a | A | ||
><<<< | _____ | chris | Chris | ||||
< | Letter auto-converted to lowercase | < | _ | A | a | ||
Numbers | 0 | Digit (0-9) | 000 | ___ | 123 | 123 | |
___ | 12 | 12_ | |||||
Optional | () | Any of the strings in braces () should match. | 0{1,3} (kg|lb) | _ kg | 12 k | 12kg | |
| | Delimiter between strings. Used within braces(). Characters in braces() are static strings; an escape character is not required inside braces. | Aut\\hor:(Chris|Icey|Victor|Ian) or (Author):(Chris|Icey|Victor|Ian) | Author:Chris | V | Author:Victor | ||
[] | Combine the keywords and literals as a whole. | [>0]{5} | _____ | a7osn | A7OSN | ||
- | Indicates the character range. Used within square braces[]. | [\\a-f] | _ | b | b | ||
Special Char | \(should use “\\” when construct pattern string) | Escape Character | 0\>0 | _>_ | 32 | 3>2 | |
# | Any Character | ### | ___ | a1& | a1& | ||
Character length restriction | Dynamic | {n} | "n" times repeat | 0{4}/0{2}/0{2} | ____/__/__ | 20230101 | 2023/01/01 |
{n,m} | Minimum "n" times and maximum "m" times repeat | 0{1,3}.0{1,3}.0{1,3}.0{1,3} | _._._._ | 1270.0.1 | 127.0.0.1 | ||
[\\01]{0,} | 1010 | 1010 | |||||
{,m} | Upto "m" times repeat | 0{,3} | 123 | 123 | |||
{n,} | Minimum "n" times repeat | 0{1,}.0{2} | _.__ | 1234.56 | 1234.56 |
In dynamic patterns:
The placeholder only represents the minimum length required. For example: 0{2,10} displays "__" and 0{0,1} displays nothing.
If "m" is not specified, dynamic patterns take maximum length of 2147483648.
The date pattern is a way to specify the format of date and time values. It is a fixed format pattern and does not accept character length restrictions. In the case of a date pattern, SpreadJS automatically fixes the user input by the date rule. However, you must not repeat date time items such as yyyy, MM etc. in a single pattern. For example, "yyyy/MM/dd yyyy" is an invalid pattern because "yyyy" is used twice.
The following table describes various masking characters of the date pattern and their usage with the help of sample patterns.
Pattern Character | Description | Sample Pattern | Display '_' as placeholder | User Input | Output |
---|---|---|---|---|---|
y | Years | yy/MM/dd | __/__/__ | 23317 | 23/03/17 |
yyyy/MM/dd | ____/__/__ | 2023317 | 2023/03/17 | ||
M | Months | yyyy/M/dd | ____/_/__ | 2023317 | 2023/3/17 |
yyyy/MM/dd | ____/__/__ | 2023317 | 2023/03/17 | ||
d | Days | yyyy/MM/d | ____/__/_ | 202337 | 2023/03/7 |
yyyy/MM/dd | ____/__/__ | 202337 | 2023/03/07 | ||
H | 24 Hours | HH:mm:ss | __:__:__ | 2277 | 22:07:07 |
H:mm:ss | _:__:__ | 577 | 5:07:07 | ||
h | 12 Hours | hh:mm:ss (am|pm) | __:__:__ am | 277 p | 02:07:07 pm |
h:mm:ss (pm|am) | _:__:__ pm | 277 a | 2:07:07 am | ||
m | Minutes | HH:mm:ss | __:__:__ | 2277 | 22:07:07 |
HH:m:ss | __:_:__ | 2277 | 22:7:07 | ||
s | Seconds | HH:mm:ss | __:__:__ | 2277 | 22:07:07 |
HH:mm:s | __:__:_ | 2277 | 22:07:7 | ||
t | Hour Format | hh:mm:ss t | __:__:__ A | 2277p | 22:07:07 P |
hh:mm:ss tt | __:__:__ AM | 2277p | 22:07:07 PM |
You can also define named patterns and reuse them in other patterns. However, if there is a string in the pattern that matches any name in the namedPatterns, the mask replaces it with the named pattern. Hence, it is recommended to define patterns with names that have minimum chances of repetition. To get the list of all name patterns, SpreadJS provides a static method getNamedPatterns.
// define a named pattern
GC.Spread.Sheets.InputMask.namedPattern('enterdate', 'MM/dd/yyyy hh:mm tt');
let style = new GC.Spread.Sheets.Style();
style.mask = {
// reuse it in another pattern
pattern: '(start): enterdate'
};
sheet.setStyle(0, 0, style);
SpreadJS also supports formula patterns, that is, the patterns that are in the form of formula and start from "=". For example, if cell A1-A3 of a worksheet are names of the authors"Chris", "Icey", and "Ian", then the following two patterns give the same result.
Formula Pattern | Equivalent Pattern |
---|---|
'="Aut\\hor:("&TEXTJOIN("|",TRUE,A1:A3)&")"' | 'Aut\\hor:(Chris|Icey|Ian)' |
The static method validatePattern that confirms if a pattern is valid or not, does not support formula patterns. To evaluate formula patterns, use GC.Spread.Sheets.CalcEngine.evaluateFormula before calling the validatePattern method.
The characters in () pattern are a static string, so (am|pm) can be written as it is without using an escape character.
When a group restriction has only one group item, the mask treats it as a static string.
By default, the mask displays first item of the group restriction in input. On receiving user input, the mask automatically completes the group item text.
For better input experience, group restrictions are not case-sensitive.
For a static string or group text, SpreadJS does not support quantifiers. Hence, you must not set patterns like 1234{1,5}, (12|34){1,5} etc.
SpreadJS does not support nesting of group “()” and optional “[]”.
When a masked cell enters the edit mode, the internal formula textbox is prevented, and the external formula textbox is readonly.
A mask does not take effect when a formula cell enters edit mode.
After editing with a mask, if the editor value starts with “=”, “-”, “+”, quotePrefix is added automatically.
The following table lists commonly used patterns for quick reference:
Case | Pattern or Options | Display | Input | Output |
---|---|---|---|---|
[a0]{1,}@[a0]{1,}.(com|cn|gov|edu) | _@_.com | chris@grapecity.e | ||
Name | ><{1,} ><{1,} | __ __ | chris diao | Chris Diao |
Long date | dd-MM-yyyy HH:mm | __-__-____ __:__ | 16720231620 | 16-07-2023 16:20 |
Short date | dd-MM-yyyy | __-__-____ | 1672023 | 16-07-2023 |
Verification code | [>0]{5} | _____ | a7osn | A7OSN |
Decimal number | [\-]{,1}0{0,}[.]{,1}0{0,} | -12.34 | -12.34 | |
12.34 | 12.34 | |||
Binary number | [\\01]{0,} | 10101 | 10101 | |
US phone number | [\\(]0{3}[\\)][-]0{3}[-]0{4} | (___)-___-____ | 1234567890 | (123)-456-7890 |