关于javascript:ng-pattern在Angular JS中进行IP地址验证

ng-pattern In Angular JS for IP Address Validation

本问题已经有最佳答案,请猛点这里访问。

我正在用ng模式验证文本框中的IP地址

代码:

1
2
3
<input name="machinestodiscover" type="text" ng-model="machinestodiscover" ng-minlength="7" ng-maxlength="15" ng-pattern="/\b([0-9]{1,3})[.]([0-9]{1,3})[.]([0-9]{1,3})[.]([0-9]{1,3})\b/" required>
 <span ng-show="conditionForm.machinestodiscover.$error.required" class="help-block" style="display:inline;">*Machines To discover Required</span>
 <span ng-show="conditionForm.machinestodiscover.$error.pattern" class="help-block" style="display:inline;">*IP Pattern Wrong.</span>

我面临的问题是,它甚至接受1.1.1.1.1.1.1的价值。

我检查了http://regexr.com中的表达式/

截图:

enter image description here

enter image description here

enter image description here

我的regex/ng模式有什么问题


问题出在\b上,它是单词边界。也就是说,.也与单词边界匹配。

用锚代替,

1
^([0-9]{1,3})[.]([0-9]{1,3})[.]([0-9]{1,3})[.]([0-9]{1,3})$
  • ^将regex锚定在字符串的开头。
  • $将regex锚定在字符串的末尾。

正则表达式