Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript asp经典正则表达式:字符串到URL安全_Javascript_Jquery_Regex_Asp Classic - Fatal编程技术网

Javascript asp经典正则表达式:字符串到URL安全

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

早上好

我试图创建一个asp“经典”版本的followjQuery/javascript函数,以防止恶意代码进入数据库

$(".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
解决方案。