Estou criando um Formulário Google via Apps Script e preciso definir um campo para aceitar apenas números de telefone de 10 dígitos dos EUA. Encontrei esta expressão regular que funciona se eu defini-la via Form Editor: ^(\+0?1\s)?\(?\d{3}\)?[\s.-]\d{3}[\s.-]\d{4}$
.
Mas, novamente, preciso que isso funcione no Apps Script. Meu trecho de código é o seguinte:
let form = FormApp.create("new Order");
let phoneNumber = form.addTextItem().setTitle("Textable phone number").setRequired(true);
phoneNumber.setValidation(FormApp.createTextValidation()
.requireTextMatchesPattern("^(\+0?1\s)?\(?\d{3}\)?[\s.-]\d{3}[\s.-]\d{4}$")
.build());
Isso gera Exception: Invalid data updating form.
Quando eu altero para .requireTextMatchesPattern(/^(\+0?1\s)?\(?\d{3}\)?[\s.-]\d{3}[\s.-]\d{4}$/)
o script é executado e concluído, mas então é impossível preencher o formulário porque um número de telefone padrão gera um erro dizendomust match pattern.
Então, como posso definir um padrão de expressão regular no Apps Script que permitirá a entrada corretamente?