根据邮政编码填写州名
如果输入的是加利福尼亚州的邮政编码,本插件会添加“州(State)”标签,并在文本表单中预填“CA(加利福尼亚州的简写)”。您也可以通过 API 扩展功能,实现根据邮政编码自动填写“州”。
(function()
{
let doc = Api.GetDocument();
let allForms = doc.GetAllForms();
//California Zip Codes regex
let zipRegex = /^9[0-5][0-9]{3}$/;
allForms.forEach(form => {
if(form.GetFormKey() == "ZipCode") {
let input = form.GetText();
//If the zip code is Californian, add the "State" label with the text form indicating "CA"
if(zipRegex.test(input)) {
let stateForm = allForms.find(item => item.GetFormKey() === "State");
if(stateForm == null) {
let stateTextForm = Api.CreateTextForm({"key": "State", "tip": "State", "required": false, "placeholder": "State", "comb": true, "maxCharacters": 2, "cellWidth": 3, "multiLine": false, "autoFit": false});
stateTextForm.SetText("CA");
let paragraph = Api.CreateParagraph();
paragraph.AddTabStop();
paragraph.AddText("State: ");
paragraph.AddElement(stateTextForm);
doc.InsertContent([paragraph]);
}
else {
stateForm.SetText("CA");
}
}
}
});
})();
使用方法: GetDocument, GetAllForms, GetFormKey, GetText, CreateTextForm, SetText,, CreateParagraph, AddTabStop, AddText, AddElement, InsertContent