博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
浅谈 js 字符串 search 方法
阅读量:7108 次
发布时间:2019-06-28

本文共 1009 字,大约阅读时间需要 3 分钟。

原文:

这是一个很久以前的事情了,好像是安心兄弟在学习js的时候做的练习。

具体记不清了,今天就来简单分析下 search 究竟是什么用的。

从字面意思理解,一个是搜索字符串吧。

var str = "123456789abcde";console.log( str.search("abc") ); // 9

确实是搜索指定字符在一个字符串中出现的位置,如果不存在就返回 -1

可是这样就跟 indexOf 功能一样了,何必单独搞一个 search 出来呢?

var str = "123456789abcde";console.log( str.search("abc") ); // 9console.log( str.indexOf("abc") ); // 9console.log( str.search("xxx") ); // -1console.log( str.indexOf("xxx") ); // -1

点击右侧运行可查看输出结果。

其实区别在于 search 是强制正则的,而 indexOf 只是按字符串匹配的。

来看一个例子:

var str = "123456789.abcde"; // 比刚才多了一个 . 而已console.log( str.search(".") );    // 0  因为正则 . 匹配除\n以外任意字符console.log( str.indexOf(".") );   // 9  只能匹配字符 .console.log( str.search("\\.") );  // 9  相当于 new RegExp("\\.")console.log( str.indexOf("\\.") ); // -1 匹配字符 \. 所以不存在console.log( str.search(/\./) );   // 9  正则匹配转以后的 . 字符console.log( str.indexOf(/\./) );  // -1 相当于匹配字符串 "/\./" 所以不存在

这个例子可以很好的说明 search 强制正则匹配模式。

来看下 MDN 上是怎么说的吧《》
可以看到他给出的语法是 str.search(regexp) 格式,说明参数必须是正则,如果不是正则,也会调用 new RegExp(obj) 转为正则的。

好了,今天的分享就这些了。明天见。。

转载地址:http://inlhl.baihongyu.com/

你可能感兴趣的文章
JAVA Calendar具体解释
查看>>
[Everyday Mathematics]20150304
查看>>
jquery动态改变div宽度和高度
查看>>
adroid 目录
查看>>
mybatis map foreach遍历
查看>>
JavaScript实现XML与JSON互转代码(转载)
查看>>
Windows7下的免费虚拟机(微软官方虚拟机)
查看>>
Linux下暴力破解工具Hydra详解
查看>>
Offer是否具有法律效力?
查看>>
Android SQLite系列
查看>>
怎么去掉li标签前面的点??
查看>>
Conjugate prior relationships
查看>>
深入Javascript中apply、call、bind
查看>>
.NET_Framework_version_history
查看>>
Android程序员必备精品资源
查看>>
Oracle SQL函数之转换函数To_char汇总
查看>>
将主机IDS OSSEC日志文件存入MYSQL的方法
查看>>
Linux线程属性总结
查看>>
【原创】Kakfa log包源代码分析(二)
查看>>
Javascript 笔记与总结(2-16)事件对象
查看>>