我是html的新手,我正在尝试使用模式来验证电话号码。
电话号码可能没有分机号。
电话号码的格式应为999-999-9999 ext 99999999
。我允许最多8位数字的扩展名。验证可与此配合使用:
pattern="[0-9]{3}[ -][0-9]{3}[ -][0-9]{4}"
并正确验证。但是,当我尝试将扩展名添加到上述模式时:
pattern="[0-9]{3}[ -][0-9]{3}[ -][0-9]{4}[\ext][0-9]{8}"
然后我可以在电话号码的任何部分添加字符。我只希望电话号码的所有部分(包括分机号)中的数字。
答案 0 :(得分:1)
尝试([0-9]{3}-[0-9]{3}-[0-9]{4})( ext [0-9]{0,8})?
在这里,我定义了两个组,第一个([0-9]{3}-[0-9]{3}-[0-9]{4})
将电话号码捕获为3位数字,然后是一个破折号,然后是3位数字,然后是一个破折号和4位数字。
第二组( ext [0-9]{1,8})?
将扩展名匹配捕获为空格,后跟文本ext,后跟1至8位数字。根据{{1}}