重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
单引号和双引号中的JavaScript没有区别,有时之所以有时在单引号与双引号是要考虑的一个字符串,例如
目前创新互联已为上千余家的企业提供了网站建设、域名、网络空间、绵阳服务器托管、企业网站设计、梁园网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
海峡=“我是个好孩子!” ;
后面这句话我有一个撇号,省去了逃避麻烦,所以周围用双引号括住,当然,你可以写:
海峡='I \'马好孩子! ',所以在单引号内需要对其进行转义。
双引号都感同身受。总之,应该注意的是,使用配对,如果字符串是在使用时必须使用单引号和双引号引号的外围一致的,我们一定要注意逃生,会有一个错误。
关于为什么要使用引号来定义一个包含你当这个变量被赋予字符串的时候,你必须使用包含引号的值的变量,否则将JavaScript的无弦包围报价标记作为变量名错误。
但是,如果你给一个值给一个变量赋值用引号包围不需要,因为JavaScript的命名未命名的变量以数字开头。所以,他并不认为这些数字是变量名。
先说明一下,表面上看上去是保存到了网站(页)上,实际上是保存到数据库的。当然也可以保存到文本文件。
还有你说的保存下来应该是注册页面,像你写的是登陆,应该只是在数据库中查询用户名和密码。看来你要把这些问题弄表楚还有得学。与这些东西相关的要学的多了,你现在还处在连描述你的问题都不会描述的层次。(所以你不要间接的骂人,别人看不懂你问什么是正常的,希望你努力学习,加油!)
给你一个完整健壮模块化的可以直接用于网站的ASP代码怎么样,自己慢慢看,这可是我寒假时在家敲的。(有比较完整的安全验证机制,只有这样的代码才敢用来做网站,健壮模块化,便于以后修改,效率更高),要装IIS才可以运行哦,放WWWROOT下(或建虚拟目录)用 形式才能正确执行。
我测试过了,没问题的,有详尽的注释,相信你看得懂(如果你学过一点BASIC或C语言的话,看不懂也没关系,可以直接拿来用!)
希望我的辛苦没白费!
注意,连接的是MS SQL数据库,如果你用的ACCESS MDB只要修改最后一个文件的连接数据库部分就行了,代码在网上很容易找到)(IIS和数据库的一些设置没设好可能无法执行哦,特别是IIS在一些精简版的系统上要么装不上,要么装上了用不了(要手动修改组件密码与IIS密码同步等,很麻烦,此时可换一个可以替代IIS的软件,网上搜。XP只能装IIS 5.1及以下版本)
这个是登陆模块,按你问题的代码来的,还过按你说的保存什么的,应该是要注册模块,如果需要给我发消息,留下Email。还有将表单内容发到邮箱,可以用ASP里的Jmail发信(在网上搜 ASP Jmail发信 就能找到代码)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
login.htm
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""
html xmlns=""
head
meta http-equiv="Content-Type" content="text/html; charset=utf-8" /
title用户登录/title
script language="javascript" type="text/javascript"!--
function validateLogin()
{
var strUserName=document.frmLogin.txtUserName.value;
var strPassword=document.frmLogin.txtPassword.value;
var primeInUserName=document.frmLogin.txtUserName.value.indexOf( "'");
var primeInPassword=document.frmLogin.txtPassword.value.indexOf( "'");
if( strUserName == "" )
{//也可用单引号
alert( "出错啦!您还没输入用户名呢!");
//可以直接return false,最后不要return;也可先将false赋给一个变量,在最后一次return,在此前还可设定一个输入成功的提示
return false;
}
if( strPassword == "" )
{
alert( "出错啦!您还没输入密码呢!");
return false;
}
if(primeInUserName != - 1){
alert("抱歉!用户名中不能使用撇号!");
return false;
}
if(primeInPassword != - 1){
alert("抱歉 ! 密码中不能使用撇号 ! ");
return false;
}
}
//--
/script
/head
body
form method="post" name="frmLogin" action="verifyID.asp" onsubmit="javascript:return validateLogin();"
table align="center" bgcolor="#cccccc" width="240" border="0" cellspacing="0" cellpadding="0"
tr
td /td
td colspan="2" /td
/tr
tr
td width="82"div align="right"用户名:/div/td
td colspan="2"input name="txtUserName" size="16" maxlength="16" //td
/tr
tr
tddiv align="right"密码:/div/td
td colspan="2"input name="txtPassword" type="password" size="16" maxlength="16" //td
/tr
tr
td /td
tdinput name="Submit" type="submit" value="登录" //td
tdinput name="Reset" type="reset" value="重填" //td
/tr
/table
/form
/body
/html
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
verifyID.asp
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%
!--#include file="GeneralTools.asp"--
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""
html xmlns=""
head
meta http-equiv="Content-Type" content="text/html; charset=utf-8" /
title登录/title
/head
body
div align="center"
%
dim strUserName
dim strPassword
strUserName=Request.Form("txtUserName")
strPassword=Request.Form("txtPassword")
call tackleEmpty(strUserName)
call tackleEmpty(strPassword)
call tacklePrime(strUserName)
call tacklePrime(strPassword)
call tackleOverLen(strUserName,16)
call tackleOverLen(strPassword,16)
call openDB()
sql="select USER_NAME from UserInfo where(USER_NAME='"strUserName"'and PASSWORD='"strPassword"')"
rs.open sql.coon,1,1
if not rs.eof then
session("UserName")=strUserName
showMsg("登录成功!")
else
showMsg("登录失败!")
end if
call closeDB()
%
/div
/body
/html
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
GeneralTools.asp
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%
dim sql,rs,conn,webURL
webURL="http://"Request.ServerVariables("SERVER_NAME")"/"
'简单的出错处理
on error resume next
sub openDB()
set conn=server.CreateObject("ADODB.Connection")
conn.open"Driver=SQL Server;Server=MICROSOF-9050D2;Database=MyAsp;Uid=sa;Pwd=123456"
set rs=server.CreateObject("ADODB.Recordset")
end sub
sub closeDB()
if IsObject(conn) then
set rs=nothing
conn.close
set conn=nothing
end if
end sub
'处理空字符串
sub tackleEmpty(strItem)
strItem=lTrim(strItem)
strItem=rTrim(strItem)
if strItem=""then
call closeDB()
response.Redirect webURL
end if
end sub
'处理撇号
sub tacklePrime(strItem)
if inStr("'",strItem)=1 then
call closeDB()
response.Redirect webURL
end if
end sub
'处理超长
sub tackleOverLen(strItem,intLen)
if len(strItem)intLen then
call closeDB()
response.Redirect webURL
end if
end sub
'显示消息
sub showMsg(strItem)
response.Write "div align='center'"
response.Write "table border='0' width='100%' height='75' cellspacing=0 cellpadding=0"
response.Write "tr"
response.Write "td align='center' valign='center'"
response.Write "font size=3 color=#FF0000"
response.Write strItem
response.Write "a href='javaScript:history.back()'"
response.Write "返回/a"
response.Write "/font"
response.Write "/td/tr/table"
response.Write "/div"
call closeDB()
response.End
end sub
%
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
JS中的反斜杠转义字符作用 转义字符是C语言中表示字符的一种特殊形式。通常使用转义字符表示ASCII码字符集中不可打印的控制字符和特定功能的字符,如用于表示字符常量的单撇号( '),用于表示字符串常量的双撇号( ")和反斜杠( \)等。转义字符用反斜杠\后面跟一个字符或一个八进制或十六进制数表示。 转义字符 意义 ASCII码值(十进制) \a 响铃(BEL) 007 \b 退格(BS) 008 \f 换页(FF) 012 \n 换行(LF) 010 \r 回车(CR) 013 \t 水平制表(HT) 009 \v 垂直制表(VT) 011 \\ 反斜杠 092 \? 问号字符 063 \' 单引号字符 039 \" 双引号字符 034 \0 空字符(NULL) 000 \ddd 任意字符 三位八进制 \xhh 任意字符 二位十六进制 字符常量中使用单引号和反斜杠以及字符常量中使用双引号和反斜杠时,都必须使用转义字符表示,即在这些字符前加上反斜杠。 在C程序中使用转义字符\ d d d或者\ x h h可以方便灵活地表示任意字符。\ d d d为斜杠后面跟三位八进制数,该三位八进制数的值即为对应的八进制A S C I I码值。\ x后面跟两位十六进制数,该两位十六进制数为对应字符的十六进制A S C I I码值。 使用转义字符时需要注意以下问题: 1) 转义字符中只能使用小写字母,每个转义字符只能看作一个字符。 2) \v 垂直制表和\f 换页符对屏幕没有任何影响,但会影响打印机执行响应操作。 3) 在C程序中,使用不可打印字符时,通常用转义字符表示 注: 1,\v垂直制表和\f换页符对屏幕没有任何影响,但会影响打印机执行响应操作。 2,\n其实应该叫回车换行。换行只是换一行,不改变光标的横坐标;回车只是回到行首,不改变光标的纵坐标。 3,\t 光标向前移动四格或八格,可以在编译器里设置 4,\' 在字符里(即单引号里)使用。在字符串里(即双引号里)不需要,只要用 ' 即可。 5,\? 其实不必要。只要用 ? 就可以了(在windows VC6 和tc2 中验证)。
vb中“\”是转义字符的意思。
所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。
扩展资料:
转义字符不属于控制字符;控制字符也不属于转义字符。如果控制字符的定义是非图形的字符,或者对输出设备(打印机、文本终端)有特殊意义的字符,那么针对这些设备的转义字符也是控制字符。但是程序设计用的转义字符是图形字符,因此它们不是控制字符。相反地,大多数ASCII控制字符单独都具有控制功能,因此它们不是转义字符。
字符型变量所能包含的值,我们可以用ASCII表达式来表示一个字符型常量,或者用单引号内加反斜杠表示转义字符。
除了vb转义符之外,还有如HTML转义符、java 转义符、xml 转义符、 oracle 转义符、sql 转义符 、sqlserver 转义符、php 转义符、asp 转义符、 javascript 转义符等等,还有网址中的百分号
参考资料来源:百度百科-转义字符