验证字符串后面包含一个冒号和数字

时间:2016-11-08 14:01:06

标签: javascript

我似乎无法解决这个问题,而且我没有使用正则表达式的经验 - 在这种情况下是否需要这样做?

我的js程序中有一个字符串,如下所示:

192.158.21.10:1234abcd123der2:12345

我需要验证此字符串是否包含:及其后的数字

如果是,则程序继续,如果不是,则抛出错误告诉用户输入有效字符串。

192.158.21.10:1234  -- Continue (validation successful)
192.158.21.10 -- Fail (incorrect input)

我知道这是一个简单的想法,但我一直在努力解决这个问题。

2 个答案:

答案 0 :(得分:2)

^ - 开始参赛

.+ - 至少一个字符/数字

: - 匹配分号

\d+ - 至少一个号码

$ - 条目结束



var regex = /^.+:\d+$/;

console.log(regex.test("abcd123der2:12345")); //true
console.log(regex.test("192.158.21.10:123")); //true
console.log(regex.test("192.158.21.10:aa")); //false
console.log(regex.test("192.158.21.10123")); //false
console.log(regex.test(":123")); //false
console.log(regex.test("test:1morething")); //false




答案 1 :(得分:1)

我不会说正则表达式是"需要"从某种意义上说,有多种方法可以执行检查。我会说正则表达式可能是最简单的方法,但它可能是也可能不是最有效的方法(如果这是一个测试效率应该重要的情况)。

无论如何,:\d+$是一个可以做你想要的正则表达式;它匹配一个冒号,后跟一个或多个数字,后跟字符串的结尾。