javascript处理字符串

awash 2000-05-26 08:40:00
我想通过逐字符扫描的方法验证一个字符串中是否含有非字母,数字及下划线(_), 却查不到相关函数(i=1 to Len(string)).
请给出验证算法,或告知相关函数
...全文
234 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zdg 2000-05-29
  • 打赏
  • 举报
回复
input_words=right(input_words,words_no2)
no_word=string(1,input_words)
的意思是:
取出最右边的一个字符到no_word
awash 2000-05-28
  • 打赏
  • 举报
回复
其实我想多给些分,但是受限,真无奈,多谢x86, zdg啦.

请告之javascript,asp是否支持正则表达式
x86 2000-05-27
  • 打赏
  • 举报
回复
String(number, character)
Returns a repeating character string of the length specified.

Dim MyString
MyString = String(5, "*") ' Returns "*****".
MyString = String(5, 42) ' Returns "*****".
MyString = String(10, "ABC") ' Returns "AAAAAAAAAA".
--------------------------------------------------------
Right(string, length)
Returns a specified number of characters from the right side of a string.

Dim AnyString, MyStr
AnyString = "Hello World" 'Define string.
MyStr = Right(AnyString, 1) ' Returns "d".
MyStr = Right(AnyString, 6) ' Returns " World".
MyStr = Right(AnyString, 20) ' Returns "Hello World".

awash 2000-05-27
  • 打赏
  • 举报
回复
请问ZDG,以下代码是啥意思

input_words=right(input_words,words_no2)
no_word=string(1,input_words)
x86 2000-05-26
  • 打赏
  • 举报
回复
对不起,刚才没看清你的要求,
你是不是只要字母?
只要把/\w*/i(称为正则表达式)
改做/[a-zA-Z]*/i
即可
x86 2000-05-26
  • 打赏
  • 举报
回复
下面是一个JScript的例子,不知在Netscape中好不好用(没试过).
微软将Javascritp改了改,称作JScript,在IE中没问题.
其中
re = /\w*/i;
一句,\w表示匹配一个可组成word的字符(字母,数字,下划线),
后面加一*,表示匹配多个\w.
r = s.match(re);
如果s中全部匹配,则匹配结果r与s应该相等,返回1
匹配格式可以参看JScript的帮助,与Perl的模式匹配格式相近.
比如
/abc*/i
匹配ab后面跟若干个c,如abc,abcc,abccc...
-----------------------------------
<html>
<head>
<script language=Javascript>
function MatchDemo(s)
{
var r, re;
re = /\w*/i;
r = s.match(re);
if(r != s)
return 0;
else return 1;
}

var s1="a123_99iuy";
var s2="Hello()";

alert ("s1:"+MatchDemo(s1)+"\ns2:"+MatchDemo(s2));
</script>
</head>
</body>
</html>
radish 2000-05-26
  • 打赏
  • 举报
回复
可以用正则表达式
zdg 2000-05-26
  • 打赏
  • 举报
回复
javascript在客户端验证, 不如在ASP中用VBScript在服务器端验证的好...下面是个例子:
'测试字符串(可增减)
test_words="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_"

'输入字符串
input_words=username

'取得输入字符串长度
words_no=len(input_words)
words_no2=words_no

for i=1 to words_no
'顺序取出输入字符串的字符(no_word)
input_words=right(input_words,words_no2)
no_word=string(1,input_words)

words_no2=words_no2-1
'与测试字符串进行比较
result_no=instr(test_words,no_word)
'判断字符是否合法
if result_no=0 then
test_name_pass="false"
exit for
end if

next

if test_name_pass="false" then
Response.Write"<TABLE align=center border=0 cellPadding=1 cellSpacing=2 width=400><TR><TD align=middle height=2 style='HEIGHT: 2px' vAlign=center><IMG alt='' src='zhuce1.gif'></TD></TR><TR><TD align=middle vAlign=center>您的用户名不合法,请<a href='' onclick='history.go(-1)'>返回</a>重新填写</TD></TR></TABLE>"
Response.End
end if

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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