当前位置: 首页 > 面试题库 >

如何在文本字段AngularJS中验证IP

谢旻
2023-03-14
问题内容

如何在AngularJS的文本字段中验证IP?目前,我正在使用此代码,但并非在所有情况下都有效。任何想法 ?

ng- pattern='/^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/


问题答案:

用:

/\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/

匹配0.0.0.0到255.255.255.255

如果您想删除0.0.0.0255.255.255.255建议您添加其他if语句。否则,正则表达式将太复杂。

观察者示例

$scope.ip = '1.2.3.4';

    $scope.$watch(function () {
        return $scope.ip;
    },

    function (newVal, oldVal) {            
        if (
            newVal != '0.0.0.0' && newVal != '255.255.255.255' &&
            newVal.match(/\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/))
        {
             // Match attempt succeeded
        } else {
            // Match attempt failed
        }
    })

演示版 **[Fiddle](http://jsfiddle.net/9Ymvt/2174/)**

[编辑]

最好的选择是创建指令,例如: <ip-input>



 类似资料:
  • 问题内容: 我的JavaScript代码是这样的: 看这里 : 我在文本输入中添加了必填项。但这不起作用如果文本输入为空,则当我单击“提交”时,不需要任何消息 有解决我问题的方法吗? 非常感谢你 问题答案: 您必须做三件事: 确保桌子周围有表格 移动之类的了 将按钮类型从更改为 查看演示- 小提琴

  • 我对测试和selenium是个新手,有很多疑问,其中之一是我可以断言一个元素存在,但如何验证它实际上是什么,例如,如果我必须检查一个特定的字段是文本区域还是文本框.... 那么使用硒IDE有没有办法做到呢? 事先谢谢...

  • 问题内容: 我正在使用JavaFX和Scene Builder,并且有一个带有文本字段的表单。这些文本字段中的三个从字符串解析为双精度。 我希望它们是学校成绩,因此只能将其设置为1.0到6.0之间。不应允许用户写“ 2.34.4”之类的内容,但可以写“ 5.5”或“ 2.9”之类的内容。 验证已解析字段: 如何测试用户输入的值是否正确? 我已经在Stackoverflow和Google上进行了搜索

  • 问题内容: 如何在AngularJs中使用基本身份验证?我已经在Google上搜索了,但是资源对我来说不起作用。我 非常 新AngularJS 问题答案: 假设您的html定义如下: 您可以使用以下基本身份验证将后端连接到rest api: 请注意,此代码的大部分是方法。如果不需要支持IE9及更低版本,则可以将其替换为本地JS实现- atob()和btoa():https : //develope

  • 问题内容: 我正在尝试验证从后端端点给我的一些表单字段… 因此基本上,元素是在内动态创建的。因此,属性也被动态添加,如,等… 但是,由于该属性是动态添加的,因此当我尝试验证它时,例如: 它不返回任何内容,因为在这一点上,它不知道是什么。 我创建了一个jsFiddle来演示该问题:http : //jsfiddle.net/peduarte/HB7LU/1889/ 任何帮助或建议将不胜感激! FAN

  • 问题内容: 我正在尝试按照AngularJS示例对所需字段进行内联验证。但是,当使用a时,它似乎对我不起作用。 JSFiddle 知道我做错了什么或我可以做些什么来解决吗? 问题答案: 不幸的是,您不能那样做。输入元素不喜欢动态生成名称。您将需要使用ng- form作为子表单并包装重复的元素。这是您的小提琴的叉子:http : //jsfiddle.net/p26VQ/