星号正则表达式检查输入的数字是否有 10 位数字
Asterisk Regex check if number entered has 10 digits
我正在使用 Asterisk 11,我是新手。
我已将以下内容添加到我的 extensions.conf 文件中:
exten => 2, 1(start), Read(callBack,enter-phone-number10,10,,5)
exten => 2, n, GotoIf($[${REGEX("^\d{10}$" ${callBack})} = 1]?confirm) -->not working, goes back to Start
exten => 2, n, GotoIf($[${REGEX("^\d{10}$" ${callBack})} != 1]?start) --> works, goes back to Start
exten => 2, n(confirm), Read(done,if-this-is-correct&press-1&otherwise&press-2)
我需要验证输入的号码是否有 10 位数字。
如果用户输入了10位数字,本来应该去确认,但是又要回去开始了。我做错了什么?
使用LEN函数似乎更简单
如果你想使用正则表达式,你应该使用这样的东西,就像手册中描述的那样:
exten => 2,n, GotoIf($[${REGEX("^[0-9]\{10\}$" ${callBack})}]?confirm:start) -->not working, goes back to Start
检查下面的代码
exten => 2, 1(start), Read(callBack,enter-phone-number10,10,,5)
exten => 2, n, GoToIf($[LEN(${callBack}) = 10]?confirm:start)
我正在使用 Asterisk 11,我是新手。
我已将以下内容添加到我的 extensions.conf 文件中:
exten => 2, 1(start), Read(callBack,enter-phone-number10,10,,5)
exten => 2, n, GotoIf($[${REGEX("^\d{10}$" ${callBack})} = 1]?confirm) -->not working, goes back to Start
exten => 2, n, GotoIf($[${REGEX("^\d{10}$" ${callBack})} != 1]?start) --> works, goes back to Start
exten => 2, n(confirm), Read(done,if-this-is-correct&press-1&otherwise&press-2)
我需要验证输入的号码是否有 10 位数字。
如果用户输入了10位数字,本来应该去确认,但是又要回去开始了。我做错了什么?
使用LEN函数似乎更简单
如果你想使用正则表达式,你应该使用这样的东西,就像手册中描述的那样:
exten => 2,n, GotoIf($[${REGEX("^[0-9]\{10\}$" ${callBack})}]?confirm:start) -->not working, goes back to Start
检查下面的代码
exten => 2, 1(start), Read(callBack,enter-phone-number10,10,,5)
exten => 2, n, GoToIf($[LEN(${callBack}) = 10]?confirm:start)