84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
我希望目标字符串中不包含公司或合伙,目标字符串名字叫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.*$)^.*/