Javascript js格式字符串到漂亮的url

Javascript js格式字符串到漂亮的url,javascript,Javascript,因为我不太精通js,所以我为一个可能不必要的问题提前道歉,但和js一样,将纯文本重写为漂亮的url 因此: 你好,世界 为此: 你好,世界 然后将重写的表单插入表单输入 <div class="form-group"> <label for="title">Nadpis</label> <input type="text" name="title" id="title" class="form-control" value

因为我不太精通js,所以我为一个可能不必要的问题提前道歉,但和js一样,将纯文本重写为漂亮的url

因此: 你好,世界

为此: 你好,世界

然后将重写的表单插入表单输入

<div class="form-group">
        <label for="title">Nadpis</label>
        <input type="text" name="title" id="title" class="form-control" value="{{ old('title') }}" required minlength="3" maxlength="80" onblur="this.form.url.value=this.value"/>
    </div>

    <div class="form-group">
        <label for="url">URL</label>
        <input type="text" name="url" id="url" class="form-control" value="{{ old('url') }}" required minlength="3" maxlength="80" readonly/>
    </div>

纳德皮斯
统一资源定位地址

您可以使用此替换代码格式化漂亮的URL:

var prettyUrl = oldUrl.split(' ').join('-');
  • 添加事件侦听器
  • 如果需要,在加载时执行
  • 删除内联事件处理程序
  • 在编码之前执行替换
更改
encodeURIComponent(此.value.replace(//g,“-”)
如果您只想替换,请将其添加到
this.value.replace(//g,“-”)

此外,我们还可以使用new URL()并在结果上显示它是否应该是实际的URL

//const re1=/[\;\,\/\?\:\@\&\=\+\$\\.!\~\*\'\(\)\\\\\\\\]/g
常数re2=/[^a-zA-Z0-9]/g
addEventListener(“加载”,函数(){//on page load
const title=document.getElementById(“title”);//存储字段
title.addEventListener(“输入”,函数(){//
document.getElementById(“url”).value=encodeURIComponent(
//this.value.replace(//g,“-”)。replace(re1,“”/)省略了“-”
这个.value.replace(re2,“”)。使用re2替换(//g,“-”)
);//替换后编码
});
title.dispatchEvent(新事件('input');//触发更改
});

纳德皮斯
统一资源定位地址

如果我了解您的问题,希望此代码能帮助您

函数prettyUrl(值)
{
返回值。replace(//g,“-”)。replace(//@/g,”)。replace(//\$/g,”)。replace(//!/g,”)。replace(///g,”)。toLowerCase();
}

纳德皮斯
统一资源定位地址

old('url')应该是什么?我们可以用新版本替换它吗?这不是纯html。但是关于刀锋,我的答案是处理不需要的魔爪,现在我仍然处理特殊的角色,但我能处理。我在寻找无用的科学,你也可以使用encodeURI(uri)将你的标题转换为字符串,该字符串对Urlencode uri有效,并传递以下字符:;,/?:@&=+$-。!~*'这对我来说是不可取的。我需要将空格改写为连字符,只有小写字母,没有任何特殊字符。我已经做了你可以写的。替换序列替换所有特殊字符,我更新了我的答案