Javascript asp经典正则表达式:字符串到URL安全
早上好 我试图创建一个asp“经典”版本的followjQuery/javascript函数,以防止恶意代码进入数据库Javascript asp经典正则表达式:字符串到URL安全,javascript,jquery,regex,asp-classic,Javascript,Jquery,Regex,Asp Classic,早上好 我试图创建一个asp“经典”版本的followjQuery/javascript函数,以防止恶意代码进入数据库 $(".item-name").keyup(function() { $("p.permlink").empty().html(convertToSlug($(this).val())+".html"); $(".permlink-input").empty().val(convertToSlug($(this).val())+".html"); }); function
$(".item-name").keyup(function() {
$("p.permlink").empty().html(convertToSlug($(this).val())+".html");
$(".permlink-input").empty().val(convertToSlug($(this).val())+".html");
});
function convertToSlug(Text)
{
return Text
.toLowerCase()
.replace(/[^\w ]+/g,'')
.replace(/ +/g,'-')
;
}
当用户在输入字段中键入产品名称时,它会自动更改permlink p的html值和一个隐藏的输入字段。一旦用户点击submit按钮,我希望它在进入数据库之前在服务器端进行验证
$(".item-name").keyup(function() {
$("p.permlink").empty().html(convertToSlug($(this).val())+".html");
$(".permlink-input").empty().val(convertToSlug($(this).val())+".html");
});
function convertToSlug(Text)
{
return Text
.toLowerCase()
.replace(/[^\w ]+/g,'')
.replace(/ +/g,'-')
;
}
我知道的唯一方法是对keybord上的每个字符使用asp replace函数
replace(strItem, "<", "")
replace(strItem, ">", "")
replace(strItem, "/", "")
replace(strItem, "\", "")
... etc etc
替换(strItem,“,”)
替换(横线“/”,“”)
替换(横线“\”、“”)
... 等等
问候
Shane刚刚在博客上发现这个与jquery的工作原理相同。 它将字符串转换为url/seo。看起来效果很好 博客没有名字,只有“blogger Classiscasp”信用卡,信用卡到期
Function isURL(strURL)
Dim Slug, re, re2
'Everything to lower case
Slug = lcase(strURL)
' Replace - with empty space
Slug = Replace(Slug, "-", " ")
' Replace unwanted characters with space
Set re = New RegExp
re.Pattern = "[^a-z0-9\s-]"
re.Global = True
Slug = re.Replace(Slug, " ")
' Replace multple white spaces with single space
Set re2 = New RegExp
re2.Pattern = "\s+"
re2.Global = True
Slug = re2.Replace(Slug, " ")
Slug = Trim(Slug)
' Replace white space with -
Slug = Replace(Slug," ", "-")
isURL = Slug
End Function
为什么不能使用Classic ASP的正则表达式替换并执行与Javascript相同的操作?嗨,杰米,这就是我想要的,但我不知道如何使用正则表达式。@Shane该链接提供了您需要的所有信息,包括
RegExResults()
函数。您可能希望将其修改为测试
而不是Execute()
。如果进行搜索,您应该能够找到一个函数来清理数据库输入-这里有一个-。我建议您也考虑PARAMABORE查询和-如果您的DB支持它们,存储过程。你会在堆栈上找到很多关于这两个方面的问题Overflow@John这不是他想要的,如果是的话,我会建议使用参数化查询,而不是链接到一个脚本,这是毫无意义的,因为它会有更多的误报,然后是有用的。用于防止SQL注入的清理输入和用于删除HTML的清理输入是不同的。这就是为什么我会像Jamie一样推荐一个RegEx
解决方案。