84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
我希望目标字符串中不包含公司或合伙,目标字符串名字叫Name
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
1使用两次indexOf来判断
代码略
2使用相反意义的正则表达式
var case1 = "某某公司"; var case2 = "某某合伙"; var case3 = "某某公司或合伙"; var case4 = "某某目标字符串"; var reg = /公司|合伙/; reg.test(case1); //true reg.test(case2); //true reg.test(case3); //true reg.test(case4); //false //写一个简单的函数组织一下 function notContains(opt) { return !reg.test(opt); }
3使用负向前瞻正则表达式
var reg = /^(?!.*(公司|合伙))(.*)$/; reg.test(case1); //false reg.test(case2); //false reg.test(case3); //false reg.test(case4); //true
解释一下正则:
外层限定开始和结尾
var reg = /^$/
负向前瞻
var reg = /^(?!.*(公司|合伙))$/
这个(?!.*(公司|合伙))只匹配位置,表明右边没有出现.*(公司|合伙)的情况就可以匹配。(公司|合伙)是分支的意思。
匹配任意字符
var reg = /^(?!.*(公司|合伙))(.*)$/
这样才可以匹配字符,没有这个(.*),上面的正则实际上和/^$/差不多。
/(?!^.*\Wname\W.*$)^.*/
1使用两次indexOf来判断
代码略
2使用相反意义的正则表达式
3使用负向前瞻正则表达式
解释一下正则:
外层限定开始和结尾
var reg = /^$/
负向前瞻
var reg = /^(?!.*(公司|合伙))$/
这个(?!.*(公司|合伙))只匹配位置,表明右边没有出现.*(公司|合伙)的情况就可以匹配。
(公司|合伙)是分支的意思。
匹配任意字符
var reg = /^(?!.*(公司|合伙))(.*)$/
这样才可以匹配字符,没有这个(.*),上面的正则实际上和/^$/差不多。
/(?!^.*\Wname\W.*$)^.*/