你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / Web开发
ASP 检测字符串是否包括汉字、数字、韩文、日文,以及其他语种字符的方法
 

ASP 检测字符串是否包括汉字、数字、韩文、日文,以及其他语种字符的方法

网页要用utf-8编码方式,用GB2312编码无法检测。

http://blog.csdn.net/aminfo/article/details/19572449

文件内容如下,请存为Test.asp

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>

<%Session.CodePage=65001%>

 

 

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>测试字符属性</title>

 

 

<%Response.Charset = "utf-8"%>

<%Dim HasHZ, HasEn, HasNum, KeyWord

 

KeyWord = Request("KeyWord")

If KeyWord<>"" Then

 

    HasHZ = 0

    HasEn = 0

    HasNum = 0

    HasJP = 0

    HasKR = 0

 

    '判断汉字

    If RegExpTest("[\u4e00-\u9fa5]", KeyWord) Then

        HasHZ = 1

    End If

 

    '判断英文

    If RegExpTest("[a-zA-Z]", KeyWord) Then

        HasEn = 1

    End If

     

    '判断数字

    If RegExpTest("[0-9]", KeyWord) Then

        HasNum = 1

    End If

 

    '判断日语

    If RegExpTest("[\u0800-\u4e00]", KeyWord) Then

        HasJP = 1

    End If

 

    '判断韩语

    If RegExpTest("[\u3130-\u318F]", KeyWord) Then

        HasKR = 1

    ElseIf RegExpTest("[\uAC00-\uD7A3]", KeyWord) Then

        HasKR = 2  

    End If

 

    Response.write  "<br>关键词:" & KeyWord & "<br>汉字 = " & HasHZ & "<br>英文 = " & HasEn & "<br>数字 = " & HasNum & "<br>日文 = " & HasJP & "<br>韩文 = " & HasKR

 

End If

 

Function RegExpTest(patrn, strng)

    Dim regEx, retVal ' 建立变量。

    Set regEx = New RegExp ' 建立正则表达式。

    regEx.Pattern = patrn ' 设置模式。

    regEx.IgnoreCase = False ' 设置是否区分大小写。

    retVal = regEx.Test(strng) ' 执行搜索测试。

    If retVal Then

        RegExpTest = True

    Else

        RegExpTest = False

    End If

End Function%>

<form method="POST" action="Test.asp">

    <p><input type="text" name="KeyWord" size="20" value="<%=KeyWord%>"><input type="submit" value="提交" name="B1"><input type="reset" value="重置" name="B2"></p>

</form>


附上:Unicode编码布局如下,如需判断其它编码字符,只需将正则表达式中的编码范围替换为以下对应的编码范围及可。

Unicode 到目前为止所定义的五个平面中,第0平面(BMP)最为重要,其编码分布如下:
注:中文范围 4E00-9FBFCJK 统一表意符号 (CJK Unified Ideographs)
0000-007F
C0控制符及基本拉丁文 (C0 Control and Basic Latin)
0080-00FF
C1控制符及拉丁文补充-1 (C1 Control and Latin 1 Supplement)
0100-017F
:拉丁文扩展-A (Latin Extended-A)
0180-024F
:拉丁文扩展-B (Latin Extended-B)
0250-02AF
:国际音标扩展 (IPA Extensions)
02B0-02FF
:空白修饰字母 (Spacing Modifiers)
0300-036F
:结合用读音符号 (Combining Diacritics Marks)

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089