在正则表达式搜索中,返回值-1表示什么?
What does a return value of -1 mean in a regular expression search
我使用正则表达式来检查4位数,但在我的代码中使用==-1
,我对它的工作方式感到困惑。我以为在输入框中输入少于4位数的东西时,警报会弹出,但当我输入超过4位数的数字时,它也会弹出。我想知道
function checkpostal(){
var re4digit=/^'d{4}$/ //regular expression defining a 4digit number between beginning and end value
if (document.myform.myinput.value.search(re4digit)==-1) //if match failed
alert("Please enter in a 4 digit number");
}
在Chrome的控制台测试你的正则表达式模式时,我得到了以下结果:
> "1233334".search(/^'d{4}$/)
-1
> "124".search(/^'d{4}$/)
-1
> "124444".search(/^'d{4}$/)
-1
> "4444".search(/^'d{4}$/)
0
> "44444".search(/^'d{4}$/)
-1
-1指示您正在查找的表达式在您要测试正则表达式的字符串中没有找到。
您的regex查询正在搜索字符串,您正在测试的东西是正好 4位数字长。这意味着当您测试大于或小于4位数的内容时,.search(r4digit)将返回-1。
这类似于Javascript的String.prototype.indexOf函数,当没有找到子字符串时也返回-1;这只是一种简单的说法,表示搜索一直到最后,什么也没找到。
相关文章:
- 什么是'值是引用'表示JavaScript对象
- d3.js中日期的默认表示形式是什么
- 什么是“||{}' 表示
- node.js 中的匿名函数和 => 表示法有什么区别
- 在 Node.js 中表示状态的普遍接受模式是什么?
- 使用'[ ]'表示法而不是点表示法来访问javascript对象成员的原因是什么?
- 什么是'x'表示为“src”属性中的最后一个字母
- 什么's表示函数使用'自变量'对象
- 什么是'x<<~y'用JavaScript表示
- 什么是使用 JSON 表示命令行参数的好方法
- 用JavaScript表示地牢,然后用怪物填充地牢的最佳方式是什么
- 在webpack中创建多个块时,数组表示法和对象表示法之间的区别是什么
- 什么'我的代码在用对象文字表示法创建方法时出错了
- 空白大括号在javascript中表示什么?
- Facebook graph api JSONP格式,第一行的/* */表示什么
- /;/和/^ +/表示什么?
- 这个字符串作为Javascript对象表示什么?
- 在ROR生成的html中,prototype.js后面的数字表示什么意思?
- Javascript (x, y, z) + a表示什么
- 在正则表达式搜索中,返回值-1表示什么?