正在验证AngularJS中的电话号码

正在验证AngularJS中的电话号码,angularjs,validation,Angularjs,Validation,我正在尝试验证textfield电话号码,以便输入与以下模式匹配:05x-xxxxxxx(忽略连字符)。 这是正确的做法吗 HTML: <form name="PhoneForm"> <div> <md-icon md-svg-src="icons/ic_phone_48px.svg"></md-icon> <md-input-container> <label>

我正在尝试验证textfield电话号码,以便输入与以下模式匹配:05x-xxxxxxx(忽略连字符)。 这是正确的做法吗

HTML:

<form name="PhoneForm">
    <div>
        <md-icon md-svg-src="icons/ic_phone_48px.svg"></md-icon>
        <md-input-container>
            <label>Phone Number</label>
            <input ng-model="contactPhone" name="PhoneInput" required ng-pattern="[0][5][0-9]{8}"/> <!-- i.e 05x-xxxxxxx -->
            <div ng-messages="PhoneForm.PhoneInput.$error" ng-if="PhoneForm.PhoneInput.$dirty">
                <div ng-message="required">This field is required!</div>
                <div ng-message="pattern">Illegal phone number!</div>
            </div>
        </md-input-container>
    </div>
</form>

电话号码
此字段必填!
非法电话号码!
因为这似乎不起作用。当输入为空时,我甚至没有收到“fieldisrequired”消息。模式可能有问题吗


谢谢。

如果不需要,请从输入标记中删除
required
属性。

看起来正则表达式有问题。我建议输入REGEX开始/结束表达式(^和$),并用
/
包装表达式。在下面的示例中,
/^[0][5][0-9]{8}$/
可以按照您的意愿使用
ng模式

Plunk基于文档中的一个