js查找包括 "北京" 两个字的正则表达式怎么写?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js查找包括 "北京" 两个字的正则表达式怎么写?相关的知识,希望对你有一定的参考价值。
js查找包括 "北京" 两个字的正则表达式怎么写?
你是这个意思吗?<script type="text/javascript">
function testABC(str)
return /北京/.test(str);
document.write(testABC("北京眇辚因"));
</script>
给你再补充一些知识吧
因为正则的规则非常多, 我在这里只写JS内常用到的, 其它不常用的和更多, 你可以去看JS手册, 比如JS55.chm
1, 新建
//是新建RegExp对象的快捷方式
如:
/abc/
它等同于new RegExp("abc");
所以在JS内新建正则有以上两种方式, 常用/ /方式比较简单
新建时正则的参数有i, g, m, 它们分别表示为:
i - 忽略大小写匹配
g - 全局匹配, 它只影响match, replace, exec等函数的返回值, 不对test测试结果起作用
m - 多行匹配 (需要与^ $一起用才有用)
用法:
/abc/i /abc/g /abc/m或任意组合如/abc/ig
开头匹配符^表示必须以某字符开始, 如
/^abc/g 那么匹配的字符串必须以abc开头, 如abc123456
结尾匹配符$表示必须以某字符结尾, 如
/abc$/ 那么匹配字符串必须以abc结尾, 如23132abc
所以:
/^abc$/ 就只能匹配abc这个字符串
举例:
function testABC(str)
return /^abc$/i.test(str);
alert(testABC("ABC")); alert(testABC("DEF")); alert(testABC("abc")); //试下去掉i就不能匹配了
范围匹配符[]表示匹配一个范围
如[0-9] [a-z] [A-Z]表示匹配里面指定的范围
如/^a[c-f]zzz$/ 就只能匹配aczzz adzzz aezzz 和afzzz
指定长度匹配
m, m, n 表示最少m个, 最多n个, 如:/a1/只匹配1个a, /a1, 表示最少1个a或N个a, /a1,3/ 最少一个a最多3个a
*表示0个或任意个字符
如a* 表示匹配0个a或N个a
+表示1个或任意个字符
如a+表示匹配1个或N个a
?表示0个或1个
如a?表示0个a或1个a
.表示除了换行符以外的任意字符; \w等同于[A-Za-z0-9_]; \d等同于[0-9];
举例:
/^.+$/匹配1个或N个除了换行符以外的任意字符
/\d3/匹配3个数字
/\w5/匹配5个字母或数字或_
转义符:
有时候比如要匹配? * +这样的字符怎么办, 它已经是正则语法符号了, 这时就要用到转义符"\"
比如, 匹配1个或N个?号, 正则为: /^\?+$/
选择符|, 与分组符()
(|) 也就是或的意思, 比如(abc|def)就只能匹配abc或def
举例: /^a(pp|ng)le$/ 就只能匹配apple或angle, 分组的意思是将这个匹配存储进match, exec, replace的返回结果数组中
好了, 上面的你理解了的话, 你题目里面的就可以自己写出来了.
最简单的正则(不考虑年月份大小)也就是4个数字加\/再加2个数字再加\/再加两个数字 (/符号要转义, 所以为\/), 你自己试试写写看, 用\d或[0-9]都可以
另外, 基本的正则学会后, 要学习高级的正则.
如:
1, 非贪婪匹配模式: ?符跟在*, +, ?, m, m,, m, n 这些规则之后时为非贪婪匹配模式
2, 不储存分组(?:) 非常长的字符串匹配时速度非常明显
3, 正向预查?=和负向预查?!
等等
纯手工.....
有什么问题可以追问..... 参考技术A var eg= /北京/
if(eg.test('asdf北京'))
...
参考技术B \u5317\u4EAC
用js查找中文字符串位置
在js中用indexof可以查找英文子字符串的位置,我想在一个中文字符串中查找中文的子字符串,怎么实现,例如“中国北京”查找“北京”的位置
参考技术A <script language="javascript">function IndexDemo(str2)
var str1 = "中国北京"
var s = str1.indexOf(str2);
return(s);
alert(IndexDemo("北京"))
</script>本回答被提问者和网友采纳 参考技术B indexOf('中文字符串')
如果结果为-1,则没有该字符串;如果结果大于等于0,则该整数就是字符串的位置
以上是关于js查找包括 "北京" 两个字的正则表达式怎么写?的主要内容,如果未能解决你的问题,请参考以下文章
JS如何获取两个时间的差,比如03:00:00和17:00:00中间相差几个小时?
求JS 截取字串包括回车或换行的代码,我有一段代码,回车后就不能用了,请那位高手帮帮我