JS中的Replace方法使用经验分享
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS中的Replace方法使用经验分享相关的知识,希望对你有一定的参考价值。
参考技术A 本文给大家分享的是我们在使用javascript中的replace方法的时候需要注意的一个事项,我就是没有注意到,才被这个bug烦了好久,这里记录下来,有需要的小伙伴可以参考下。最近查一个bug,原因是JS中的Replace方法造成的,当将一个字符串中有处需要替换时,一般会用到JS中的Replace方法,Replace方法的第一个参数如果是传的字符串,只会替换第一处。代码如下:
复制代码
代码如下:
var
str
=
"0CEA65D5-DB8E-4876-A6F8-C88AC7F0E185,E846C244-8A19-4374-879B-0B1DC08D1747,6CB3EBA4-1E22-4E4D-8800-AE31130B6F5D";
alert(str.replace(",","','"));
上面的代码本意是将用逗号隔开的GUID的逗号替换成',',但实际结果只将第一个逗号替换了。
解决这个问题只需将replace的第一个参数使用正则的方式即可,代码如下:
复制代码
代码如下:
var
reg
=
new
RegExp(",","g");
var
str
=
"0CEA65D5-DB8E-4876-A6F8-C88AC7F0E185,E846C244-8A19-4374-879B-0B1DC08D1747,6CB3EBA4-1E22-4E4D-8800-AE31130B6F5D";
alert(str.replace(reg,"','"));
结果如下:
以上所述就是文本的全部内容了,希望对大家学习javascript能够有所帮助。
经验分享] 向云服务器上传下载文件方法汇总
一、向Windows服务器上传下载文件方式
<ignore_js_op>
二、向linux服务器上传下载文件方式
1. scp
【优点】简单方便,安全可靠;支持限速参数
【缺点】不支持排除目录
【用法】
scp就是secure copy,是用来进行远程文件拷贝的。数据传输使用 ssh,并且和ssh 使用相同的认证方式,提供相同的安全保证。
命令格式:
scp [参数] <源地址(用户名@IP地址或主机名)>:<文件路径> <目的地址(用户名 @IP 地址或主机名)>:<文件路径>
举例:
scp /home/work/[email protected]:/home/work/ #把本地的source.txt文件拷贝到192.168.0.10机器上的/home/work目录下
scp [email protected]:/home/work/source.txt/home/work/ #把192.168.0.10机器上的source.txt文件拷贝到本地的/home/work目录下
scp [email protected]:/home/work/[email protected]:/home/work/ #把192.168.0.10机器上的source.txt文件拷贝到192.168.0.11机器的/home/work目录下
scp -r /home/work/[email protected]:/home/work/ #拷贝文件夹,加-r参数
scp -r /home/work/[email protected]:/home/work/ #使用主机名
scp -r -v /home/work/[email protected]:/home/work/ #显示详情,加-v参数
2. rcp
目标主机需要事先打开rcp功能,并设置好rcp的权限:把源主机加入到可信任主机列表中,否则无法在源主机上使用rcp远程复制文件到目标主机。
3. wget
【优点】简单方便,支持排除目录,支持限速参数
【缺点】只能从远程机器将文件或文件夹下载到本地,并且远程机器需要支持ftp服务(例如启动proftpd);参数较多,使用上比scp复杂
【用法】
wget是一个从网络上自动下载文件的自由工具,支持通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理。
命令格式:
wget [参数] ftp://<目标机器ip或主机名>/<文件的绝对路径> #proftpd格式
举例:
wget ftp://192.168.0.10//home/work/source.txt #从192.168.0.10上拷贝文件夹source.txt
wget ftp://www.myhost.com//home/work/source.txt #使用主机名
wget -nH -P /home/work/ ftp://www.myhost.com//home/work/source.txt #指定本地保存路径,使用参数“-P 路径”或者“--directory-prefix=路径”;-nH, --no-host-directories 不创建主机目录
wget -r -l 0 -nH -P /home/work/ftp://www.myhost.com//home/work/sourcedir #递归下载sourcedir目录,使用参数-r;参数-l,--level=NUMBER 最大递归深度 (inf 或 0 代表无穷).
wget --cut-dirs=3 -r -l 0 -nH -P /home/work/ftp://www.myhost.com//home/work/sourcedir #-参数-cut-dirs=NUMBER 忽略 NUMBER层远程目录,本例中将myhost上的sourcedir目录保存到本地的work目录下。
wget --limit-rate=200k --cut-dirs=3 -r -l 0 -nH-P /home/work/ ftp://www.myhost.com//home/work/sourcedir #-参数--limit-rate=RATE 限定下载输率
wget --limit-rate=200k --cut-dirs=3 -r -l 0 -nH-P /home/work/ -X /home/work/sourcedir/notincludedirftp://www.myhost.com//home/work/sourcedir #排除路径使用-X参数
wget -q --limit-rate=200k --cut-dirs=3 -r -l 0-nH -P /home/work/ -X /home/work/sourcedir/notincludedirftp://www.myhost.com//home/work/sourcedir #参数-q表示安静模式,无输出;默认是-v,冗余模式
4. rsync
【优点】功能强大,操作类似scp,支持排除目录,支持限速参数;还支持本地复制。
【缺点】暂无
【用法】
rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync。它的操作方式和scp和相似,但是比scp强大很多。使用双冒号分割主机名和文件路径时,是使用rsync服务器,这里不做介绍。
命令格式:
rsync [参数] <源地址(用户名@IP地址或主机名)>:<文件路径> <目的地址(用户名 @IP 地址或主机名)>:<文件路径>
举例:
rsync /home/work/[email protected]:/home/work/ #把本地的source.txt文件拷贝到192.168.0.10机器上的/home/work目录下
rsync [email protected]:/home/work/source.txt/home/work/ #把192.168.0.10机器上的source.txt文件拷贝到本地的/home/work目录下
rsync [email protected]:/home/work/[email protected]:/home/work/ #把192.168.0.10机器上的source.txt文件拷贝到192.168.0.11机器的/home/work目录下
rsync -r /home/work/[email protected]:/home/work/ #拷贝文件夹,加-r参数
rsync -r /home/work/[email protected]:/home/work/ #使用主机名
rsync -r -v /home/work/[email protected]:/home/work/ #显示详情,加-v参数
rsync -r -v --exclude sourcedir/notinclude /home/work/sourcedir [email protected]:/home/work/ #排除子目录,注意:--exclude后面的路径不能为绝对路径,必须为相对路径才可以,否则匹配不上,就不会被排除掉。
5 linux系统下用 ssh登录管理服务器,并用scp上传下载文件
登录ssh方法:
1、ssh 主机
ssh 192.168.1.155 (表示用root用户登录到服务器)
2、ssh 用户@主机
ssh [email protected] (表示用user1登录到服务器)
3、ssh 主机 -l 用户名 -p 端口
ssh 192.168.1.155 -l user2 -p 8080 (表示user2用户用8080端口连接到192.168.1.155的服务器)
用scp命令上传和下载文件
scp [email protected]:1.txt 2.txt (把服务器的1.txt下载到本地,并且重命名为2.txt)
scp 2.txt [email protected]:3.txt (把本地2.txt文件上传到服务器的root目录下,并且命名为3.txt)
scp -r 的话表示上传或者下载文件夹
scp -表示加上端口信息(P为大写)
6 winscp软件方式(推荐)
在Windows下下载安装 winscp,运行后可以看到远程Linux 服务器目录,选择要上传的文件拖到相应的目录即可,该方式简单实用
7 window系统下用 ssh登录管理服务器,并用scp上传下载文件
前提,在windows下安装cygwin,后面的操作同5
1 ssh www.2cto.com
在Cygwin中执行:$ ssh [email protected]
2 scp
命令scp基于SSH协议,可以将本地文件拷贝到远程服务上的指定目录,格式如下:
$ scp [email protected]:remotedirectory
执行:$ scpipmsg.log [email protected]:/home/admin
8 ftp软件方式
Step1. 在云服务器配置FTP服务
1.在root权限下,通过如下命令安装Vsftp。
[[email protected]_250_202_tlinux ~]# yum install vsftpd
2.在启动vsftpd服务之前,需要登录云服务器修改配置文件,将匿名登录禁用掉。打开配置文件,命令如下:
[[email protected]_250_202_tlinux ~]# vim/etc/vsftpd/vsftpd.conf
在配置文件中第11行的“anonymous_enable=YES”前面加上#号,即将匿名登录禁用。
3.读取生效配置。
[[email protected]_250_202_tlinux ~]# cat/etc/vsftpd/vsftpd.conf |grep ^[^#]
local_enable=YESwrite_enable=YESlocal_umask=022anon_upload_enable=YESanon_mkdir_write_enable=YESanon_umask=022dirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESxferlog_std_format=YESlisten=YESpam_service_name=vsftpduserlist_enable=YEStcp_wrappers=YES
4.启动vsftpd服务。
[[email protected]_250_202_tlinux ~]# service vsftpd start
5.设置FTP用户账号。设置成功后,即可通过该账号登录FTP服务器。(1)设置FTP用户的账号,例如账号为“ftpuser1”,目录为/home/ftpuser1,且设置不允许通过ssh登录。
[[email protected]_250_202_tlinux ~]# useradd -m -d/home/ftpuser1 -s /sbin/nologin ftpuser1
(2)设置账号对应的密码,例如密码为“ftpuser1”。
[[email protected]_250_202_tlinux ~]# passwd ftpuser1
6.修改vsftpd的pam配置,使开发者可以通过自己设置的FTP用户帐号和密码连接到云服务器。(1)修改pam。
[[email protected]_250_202_tlinux ~]# vim/etc/pam.d/vsftpd
内容修改为:
#%PAM-1.0 auth required/lib64/security/pam_listfile.so item=user sense=deny file=/etc/ftpusersonerr=succeed auth required /lib64/security/pam_unix.so shadow nullok authrequired /lib64/security/pam_shells.so account required/lib64/security/pam_unix.so session required /lib64/security/pam_unix.so
(2)确认修改后的文件是否正确。
[[email protected]_250_202_tlinux ~]# cat/etc/pam.d/vsftpd#%PAM-1.0 auth required /lib64/security/pam_listfile.soitem=user sense=deny file=/etc/ftpusers onerr=succeed authrequired /lib64/security/pam_unix.so shadow nullok auth required/lib64/security/pam_shells.so account required /lib64/security/pam_unix.sosession required /lib64/security/pam_unix.so
(3)重启vsftpd服务,使修改生效。
[[email protected]_250_202_tlinux ~]# service vsftpdrestartShutting down vsftpd: [ OK ]Starting vsftpd for vsftpd: [ OK ]
Step2. 上传文件到Linux云服务器
1.下载并安装开源软件FileZilla请使用FileZilla的3.5.1、3.5.2版本(使用3.5.3版本的FileZilla进行FTP上传会有问题)。由于FileZilla 官网上只提供了最新的3.5.3版本下载,因此建议开发者自行搜索3.5.1、3.5.2下
载地址。建议的3.5.1 下载地址:http://www.oldapps.com/filezilla.PHP?old_filezilla=6350
2.连接FTP运行FileZilla,按下图所示进行配置,配置后点击“快速链接”:
配置信息说明如下:(1)主机:云服务器的公网IP(在云服务器“管理视图”页面可查看云服务器的公网IP)。(2)用户名:在Step1中设置的FTP用户的账号,这里以“ftpuser1”为例。(3)密码:在Step1中设置的FTP用户账号对应的密码,这里以“ftpuser1”为例。(4)端口:FTP监听端口,默认为“21”。
3.上传文件到Linux云服务器上传文件时,鼠标选中本地文件,拖拽到远程站点,即将文件上传到了Linux云服务器。注意:云服务器FTP通道不支持上传tar压缩包后自动解压,以及删除tar包功能。
9 SecureCRT
本地下载SecureCRT,解压后打开,点击快速连接upload11
输入服务器IP地址和用户名,点击连接upload12
输入服务器密码,点击确定upload13
连接成功之后,若服务器未安装RZ软件,输入apt-get install lrzsz,或 yum install lrzsz 回车等待安装upload23
安装rz成功之后,输入rz,回车upload14
弹出文件选择窗口,选择需要上传的文件,点击添加upload15
等待文件上传,完成之后则完成文件上传upload17
输入 rz
上传的文件默认在root下
三、通过行云管家上传下载文件
行云管家是一个云计算管理平台,能跨云厂商管理、优化成本支出、微信告警通知、安全体检、运维审计等。行云管家可以直接上传下载文件到云主机,非常简单。
<ignore_js_op>
注册账号导入云主机后,就可以直接使用网页来进行远程连接云主机的操作
2.传输文件
(2).连接到Linux主机进行文件传输
用同样的方式,也可以将文件上传至Linux主机上面
以上是关于JS中的Replace方法使用经验分享的主要内容,如果未能解决你的问题,请参考以下文章