asp 判断字符串是否为中文
我在网上搜,全部都是这段代码:functionischinese(s){varret=true;for(vari=0;i<s.length;i++)ret=ret&&(s...
我在网上搜,全部都是这段代码:
function ischinese(s){
var ret=true;
for(var i=0;i<s.length;i++)
ret=ret && (s.charCodeAt(i)>=10000);
return ret;
}
按我的理解,这段代码是JAVASCRIPT的代码
我用来判断客户提交的城市名是否为中文,调用的时候是这样调用的
if ischinese(city)=false then
Response.Write "城市名请用中文<br>"
end if
结果出错。
我把那段代码放到<script language=javascript></script>中间,调用代码还是那样,仍然出错,请问这段代码该如何使用? 展开
function ischinese(s){
var ret=true;
for(var i=0;i<s.length;i++)
ret=ret && (s.charCodeAt(i)>=10000);
return ret;
}
按我的理解,这段代码是JAVASCRIPT的代码
我用来判断客户提交的城市名是否为中文,调用的时候是这样调用的
if ischinese(city)=false then
Response.Write "城市名请用中文<br>"
end if
结果出错。
我把那段代码放到<script language=javascript></script>中间,调用代码还是那样,仍然出错,请问这段代码该如何使用? 展开
4个回答
展开全部
如果你用的是ASP,试试这个函数
注意:要放在<script language=vbscript></script>中
Function FullChinese(str)
'定义一个临时变量
Dim i
'取出整个字符串的长度,赋给这个变量
i = Len(str)
'判断一下字符串是不是空,如果是空,则直接返回失败
'这个判断可以按照你的需求来自己修改
If i = 0 Then
FullChinese = False
Exit Function
End If
'一个一个的取出字符串的每一个字符(从后往前取),
'循环判断取出的字符是不是中文
Do While i > 0
'如果当前取出的字符的ASC码小于10000且大于-10000,
'那么我们就认为这个字符不是中文,
'具体为什么需要你去查ASC表,
'这个判断并不是完全准确的,但是对于你的需求应该足够了
'如果字符串中有一个字符不是中文就返回假
If Asc(Mid(str, i, 1)) < 10000 And Asc(Mid(str, i, 1)) > -10000 Then
FullChinese = False
Exit Function
End If
'如果当前取出的字符是中文,那么就把i减一,
'循环后去判断下一个字符
i = i - 1
Loop
'如果全是中文,那么返回真
FullChinese = True
End Function
使用的例子:
msgbox FullChinese(\"中国1人民\")
如果是true,则说明里面全是中文的,如果是FALSE说明里面含有不是中文的字符。如果不愿意看注释,自己去删。
注意:要放在<script language=vbscript></script>中
Function FullChinese(str)
'定义一个临时变量
Dim i
'取出整个字符串的长度,赋给这个变量
i = Len(str)
'判断一下字符串是不是空,如果是空,则直接返回失败
'这个判断可以按照你的需求来自己修改
If i = 0 Then
FullChinese = False
Exit Function
End If
'一个一个的取出字符串的每一个字符(从后往前取),
'循环判断取出的字符是不是中文
Do While i > 0
'如果当前取出的字符的ASC码小于10000且大于-10000,
'那么我们就认为这个字符不是中文,
'具体为什么需要你去查ASC表,
'这个判断并不是完全准确的,但是对于你的需求应该足够了
'如果字符串中有一个字符不是中文就返回假
If Asc(Mid(str, i, 1)) < 10000 And Asc(Mid(str, i, 1)) > -10000 Then
FullChinese = False
Exit Function
End If
'如果当前取出的字符是中文,那么就把i减一,
'循环后去判断下一个字符
i = i - 1
Loop
'如果全是中文,那么返回真
FullChinese = True
End Function
使用的例子:
msgbox FullChinese(\"中国1人民\")
如果是true,则说明里面全是中文的,如果是FALSE说明里面含有不是中文的字符。如果不愿意看注释,自己去删。
展开全部
ischinese(s){ 是个java脚本,是在客户端运行的,而if ischinese(city)=false then 是asp,在服务端运行的,肯定不行
应该用一个form提交事件,在客户提交的时候判断
比如<input type=button onclick="checkform();">
<script language=javascript>
function checkform(){
if ischinese(form1.city.value){
form1.submit
else{
alert('请输入中文')
}
}
}
</script>
应该用一个form提交事件,在客户提交的时候判断
比如<input type=button onclick="checkform();">
<script language=javascript>
function checkform(){
if ischinese(form1.city.value){
form1.submit
else{
alert('请输入中文')
}
}
}
</script>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
代码是javascript,但是你调用的时候是在asp中调用,这是有问题的,看看这个:
<%
if request.form("name")<>"" then
if Len(Hex(Asc(request.form("name"))))>2 Then
Response.Write "阿里西西说:这个是中国文字!"
else
Response.Write "阿里西西说:这个是什么鸟字呢?"
end if
end if
%>
<form method="post" name="frm" action="">
<INPUT TYPE="text" NAME="name">
<input type="submit" value="提交">
</form>
<%
if request.form("name")<>"" then
if Len(Hex(Asc(request.form("name"))))>2 Then
Response.Write "阿里西西说:这个是中国文字!"
else
Response.Write "阿里西西说:这个是什么鸟字呢?"
end if
end if
%>
<form method="post" name="frm" action="">
<INPUT TYPE="text" NAME="name">
<input type="submit" value="提交">
</form>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ischinese(s) 是JavaScript语言。
if ischinese(city)=false then 是VBScript语言。
语言不通的原因!
if ischinese(city)=false then 是VBScript语言。
语言不通的原因!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询