Javascript 验证字符串包含冒号和后面的数字
我似乎无法理解这一点,而且我没有使用regex的经验——在这种情况下是否需要这样做 我的js程序中有一个字符串,可以如下所示:Javascript 验证字符串包含冒号和后面的数字,javascript,Javascript,我似乎无法理解这一点,而且我没有使用regex的经验——在这种情况下是否需要这样做 我的js程序中有一个字符串,可以如下所示: 192.158.21.10:1234或abcd123der2:12345 我需要验证此字符串是否包含:及其后面的数字 如果是,程序将继续,如果不是,则抛出一个错误,告诉用户输入一个有效字符串 192.158.21.10:1234 -- Continue (validation successful) 192.158.21.10 -- Fail (incorrect i
192.158.21.10:1234
或abcd123der2:12345
我需要验证此字符串是否包含:
及其后面的数字
如果是,程序将继续,如果不是,则抛出一个错误,告诉用户输入一个有效字符串
192.158.21.10:1234 -- Continue (validation successful)
192.158.21.10 -- Fail (incorrect input)
我知道这是一个简单的想法,但我一直在努力想办法解决这个问题。
^
-开始进入
+
-至少一个字符/数字
:
-匹配分号
\d+
-至少一个数字
$
-条目末尾
var regex=/^.+:\d+$/;
日志(regex.test(“abcd123der2:12345”)//真的
console.log(regex.test(“192.158.21.10:123”)//真的
console.log(regex.test(“192.158.21.10:aa”)//假的
console.log(regex.test(“192.158.21.10123”)//假的
console.log(regex.test(“:123”)//假的
log(regex.test(“test:1morething”)//false
^
-条目的开始
+
-至少一个字符/数字
:
-匹配分号
\d+
-至少一个数字
$
-条目末尾
var regex=/^.+:\d+$/;
日志(regex.test(“abcd123der2:12345”)//真的
console.log(regex.test(“192.158.21.10:123”)//真的
console.log(regex.test(“192.158.21.10:aa”)//假的
console.log(regex.test(“192.158.21.10123”)//假的
console.log(regex.test(“:123”)//假的
log(regex.test(“test:1morething”)//false
我不会说regex是“必需的”,因为执行检查有多种方法。我想说正则表达式可能是最简单的方法,但它可能是也可能不是最有效的方法(如果在这种情况下,测试的效率很重要)
无论如何,:\d+$
是一个正则表达式,可以做你想做的事情;它匹配一个冒号,后跟一个或多个数字,后跟字符串的结尾。我不会说regex是“必需的”,因为有多种方法来执行检查。我想说正则表达式可能是最简单的方法,但它可能是也可能不是最有效的方法(如果在这种情况下,测试的效率很重要)
无论如何,
:\d+$
是一个正则表达式,可以做你想做的事情;它匹配一个冒号,后跟一个或多个数字,后跟字符串的结尾。到目前为止,您尝试了哪些正则表达式模式?您可以随时使用在线测试人员自己学习正则表达式…/:\d+$/
检查冒号后面是否有一个或多个数字。不过,它不需要冒号前面的字符/^.+:\d+$/
将检查冒号之前的任何字符以及冒号之后的数字。我以前从未使用过正则表达式,因此试图确定这是否正确necessary@deeveeABC正则表达式从来都不是必需的,但有时可能更简单。到目前为止,您尝试了哪些正则表达式模式?您可以随时使用在线测试人员自己学习正则表达式…/:\d+$/
检查冒号后面是否有一个或多个数字。不过,它不需要冒号前面的字符/^.+:\d+$/
将检查冒号之前的任何字符以及冒号之后的数字。我以前从未使用过正则表达式,因此试图确定这是否正确necessary@deeveeABC正则表达式从来都不是必需的,但有时可能更简单。是的,但是console.log(regex.test(“test:1morething”)//真的
这太棒了。谢谢但是正如@MarkAdelsberger所提到的,有没有办法让他的例子也失败?@deeveeABC更新了,现在来上一堂关于为什么正则表达式是导致疯狂的主要原因的快速课:console.log(regex.test(“is:this:ok:too:123”);//true
--如果不将第一个
替换为[^:][/code>..@MarkAdelsberger请您解释一下reg-ex的功能好吗?或者编辑答案,如果更简单的话:)像charmYes一样工作,但是console.log(regex.test(“test:1morething”)//真的
这太棒了。谢谢但是正如@MarkAdelsberger所提到的,有没有办法让他的例子也失败?@deeveeABC更新了,现在来上一堂关于为什么正则表达式是导致疯狂的主要原因的快速课:console.log(regex.test(“is:this:ok:too:123”);//true
--如果不将第一个
替换为[^:][/code>..@MarkAdelsberger请您解释一下reg-ex的功能好吗?或者编辑答案,如果更简单:)就像一个符咒