起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1216|回复: 2

[结贴] 没有正确理解表达式的用法?

[复制链接]

64

主题

321

帖子

679

积分

高级会员

Rank: 4

积分
679
QQ
发表于 2017-1-18 12:56:03 | 显示全部楼层 |阅读模式

类似仿淘宝案例,需要对数据库中的“ad_link”进行处理赋值给ad_link,如果是网址并含“http”就不处理,如果不含就加“http”开头,如果不是网址就用“require.toUrl()”转换再赋值。’strRegex‘网络上找来的,结果提示:strRegex.test is not function。但是“http.test”却不报错,需要如何才能实现我的功能?

  1.                         var fImgUrl = require.toUrl(obj.row.val("img_url"));
  2.                         var ad_link = obj.row.val("ad_link");
  3.                         var fUrl = "";
  4.                         var strRegex = '^((https|http|ftp|rtsp|mms)?://)'
  5.                                                         + '?(([0-9a-z_!~*\'().&=+$%-]+: )?[0-9a-z_!~*\'().&=+$%-]+@)?' //ftp的user@
  6.                                                         + '(([0-9]{1,3}.){3}[0-9]{1,3}' // IP形式的URL- 199.194.52.184
  7.                                                         + '|' // 允许IP和DOMAIN(域名)
  8.                                                         + '([0-9a-z_!~*\'()-]+.)*' // 域名- www.
  9.                                                         + '([0-9a-z][0-9a-z-]{0,61})?[0-9a-z].' // 二级域名
  10.                                                         + '[a-z]{2,6})' // first level domain- .com or .museum
  11.                                                         + '(:[0-9]{1,4})?' // 端口- :80
  12.                                                         + '((/?)|' // a slash isn't required if there is no file name
  13.                                                         + '(/[0-9a-z_!~*\'().;?:@&=+$,%#-]+)+/?)


  14. ;
  15.                         var http  = /http/;               
  16.                         if (strRegex.test(ad_link)){
  17.                                 if(http.test(ad_link)){
  18.                                         fUrl = ad_link;
  19.                                 }else {
  20.                                         fUrl = "http://"+ad_link;
  21.                                 }
  22.                         }else {
  23.                                 fUrl = require.toUrl(obj.row.val("ad_link"));               
  24.                         }
复制代码



发表于 2017-1-18 13:54:45 | 显示全部楼层
strRegex 是一个字符串!
http   是一个正则匹配符!

关于js的正则表达式用法!
建议上网搜下吧!
http://www.jb51.net/article/43190.htm

反正strRegex 不能定义为字符串!否则当然不能调用test方法!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

64

主题

321

帖子

679

积分

高级会员

Rank: 4

积分
679
QQ
 楼主| 发表于 2017-1-18 15:26:18 | 显示全部楼层
liangyongfei 发表于 2017-1-18 13:54
strRegex 是一个字符串!
http   是一个正则匹配符!

好的,已经好了,谢谢!结贴
  1.                         var fImgUrl = require.toUrl(obj.row.val("img_url"));
  2.                         var ad_link = obj.row.val("ad_link");
  3.                         var fUrl = "";
  4.                         var point = /^\./;                                        //以.开头
  5.                         var http = /^(http|ftp|https)/;        //以http|ftp|https开头
  6.                         var abso = /^\$/;                                        //以$开头
  7.                         if (http.test(ad_link)){
  8.                                 fUrl = ad_link;
  9.                         }else if(point.test(ad_link)){
  10.                                 fUrl = require.toUrl(ad_link);
  11.                         }else if(abso.test(ad_link)){               
  12.                                 fUrl = require.toUrl(ad_link);
  13.                         }else {
  14.                                 fUrl = "http://" + ad_link ;
  15.                         }
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-6-28 02:52 , Processed in 0.066085 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表