我正在通过 Apps Script 创建 Google 表单,需要设置一个字段以仅接受美国 10 位电话号码。我发现这个正则表达式在通过表单编辑器设置时有效:^(\+0?1\s)?\(?\d{3}\)?[\s.-]\d{3}[\s.-]\d{4}$
。
但同样,我需要通过 Apps Script 来实现这一点。我的代码片段如下:
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());
Exception: Invalid data updating form.
当我将其更改为脚本运行并完成时,这会引发错误.requireTextMatchesPattern(/^(\+0?1\s)?\(?\d{3}\)?[\s.-]\d{3}[\s.-]\d{4}$/)
,但随后无法填写表格,因为标准电话号码会引发错误must match pattern.
那么,如何在 Apps Script 中设置能够正确允许输入的正则表达式模式?