javascript中replace的使用

有一串IP地址:

10.245.19.1

10.245.19.2

10.245.19.3

想要验证他们的格式是否正确, 但是在不同的浏览器中, 表示换行的符号不一样, IE中为\r\n, chrome和firefox为\n, 因此需要将他们用一个字符替代, 来进行分解

validateIP()为验证IP格式是否正确的函数, 这里就不赘述了

第一步代码:

function checkIPFormat(ipStr) {
	var ips = ipStr.split('\n');
    for (var i = 0; i < ipStr.length; i++){
        if(!Regulars.validateIP(ips[i])) {
           	return false;
        }
    }
    return true;

这在chrome和firefox中是可以的, 但是IE中就不行了

把换行符都换成\r\n, 再进行分解, 代码如下

function checkIPFormat(ipStr) {
	var ips = ipStr.replace("\r\n", ";").replace("\n", ";").split(';');
    for (var i = 0; i < ipStr.length; i++){
        if(!Regulars.validateIP(ips[i])) {
           	return false;
        }
    }
    return true;


这样的改动只能解析前两个IP, 因为在javascript中, String.replace()函数只会对第一个匹配的字符串进行替换, 这时候就要用到正则表达式了, 用正则表达式表示换行符, 对字符串中所有换行符进行替换, 代码如下:

function checkIPFormat(ipStr) {
	var ips = ipStr.replace(/\r\n/ig, ";").replace(/\n/ig, ";").split(';');
    for (var i = 0; i < ipStr.length; i++){
        if(!Regulars.validateIP(ips[i])) {
           	return false;
        }
    }
    return true;

这样就完成了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值