这个正则表达试怎么写

peterpansh 2006-03-28 04:08:49
验证字符串是否合法

该字符串是url后面的参数,比如 abc1=value1&abc2=value2&abc3=value3 ...

(value值可能含有%非字母,非数字的符号)
...全文
87 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hbhbhbhbhb1021 2006-03-31
  • 打赏
  • 举报
回复
/^[\S]+$/
hbhbhbhbhb1021 2006-03-31
  • 打赏
  • 举报
回复
/[\S]+/
peterpansh 2006-03-31
  • 打赏
  • 举报
回复
最好是一个正则表达式,那样在各个语言可以通用.
Gdj 2006-03-29
  • 打赏
  • 举报
回复
var vbs='Public Function URLEncoding(v)\nDim s,t,i,j,h,l,x : s = "" : x=Len(v)\nFor i = 1 To x\nt = Mid(v,i,1) : j = Asc(t)\nIf j> 0 Then\ns = s & "%" & Right("00" & Hex(Asc(t)),2)\nElse\nIf j < 0 Then j = j + &H10000\nh = (j And &HFF00) \\ &HFF\nl = j And &HFF\ns = s & "%" & Hex(h) & "%" & Hex(l)\nEnd If\nNext\nURLEncoding = s\nEnd Function';
execScript(vbs,'VBScript');
function urlencode(str)
{
var i,chr,re="";
for(i=0;i<str.length;i++)
{
chr=str.charAt(i);
if("/@*[] ".indexOf(chr)>0 || chr>='a' && chr<='z' || chr>='A' && chr<='Z' || chr>='0' && chr<='9') re+=chr;
else re+=URLEncoding(chr);
}
return re.replace(/\//g,"&").replace(/ /g,"+");
}


这是ie下的urlencode。非ie下的话不能用vbscript,urlencode比较长,这里就不方便帖出来。自已去找一个下载吧。
Gdj 2006-03-29
  • 打赏
  • 举报
回复
你直接找个urlencode不得了。urlencode的函数原型在google可以搜到。

if(param!=urlencode(param)) { alert('不合法'); }
peterpansh 2006-03-28
  • 打赏
  • 举报
回复
比如sortid=1&title=这是%20标题 这是合法的
sortidtitle 是不合法的
meizz 2006-03-28
  • 打赏
  • 举报
回复
你总得说明白什么是合法的,什么是不合法的先吧!

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧