??xml version="1.0" encoding="utf-8" standalone="yes"?>av电影一区二区,午夜cr在线观看高清在线视频完整版,亚洲字幕久久http://www.aygfsteel.com/xuleinew/有什么好的东东拉来share一? 有什么好的徏议拉来say一? zh-cnWed, 18 Jun 2025 07:06:55 GMTWed, 18 Jun 2025 07:06:55 GMT60StrutsQSpringQHibernate开发实?http://www.aygfsteel.com/xuleinew/archive/2007/07/03/127909.htmlAlex.xuleiAlex.xuleiTue, 03 Jul 2007 09:26:00 GMThttp://www.aygfsteel.com/xuleinew/archive/2007/07/03/127909.htmlhttp://www.aygfsteel.com/xuleinew/comments/127909.htmlhttp://www.aygfsteel.com/xuleinew/archive/2007/07/03/127909.html#Feedback1http://www.aygfsteel.com/xuleinew/comments/commentRss/127909.htmlhttp://www.aygfsteel.com/xuleinew/services/trackbacks/127909.html阅读全文

Alex.xulei 2007-07-03 17:26 发表评论
]]>
JDBC+HibernateBlob数据写入Oraclehttp://www.aygfsteel.com/xuleinew/archive/2007/07/03/127907.htmlAlex.xuleiAlex.xuleiTue, 03 Jul 2007 09:24:00 GMThttp://www.aygfsteel.com/xuleinew/archive/2007/07/03/127907.htmlhttp://www.aygfsteel.com/xuleinew/comments/127907.htmlhttp://www.aygfsteel.com/xuleinew/archive/2007/07/03/127907.html#Feedback0http://www.aygfsteel.com/xuleinew/comments/commentRss/127907.htmlhttp://www.aygfsteel.com/xuleinew/services/trackbacks/127907.html
  写入Blob字段和写入其它类型字D늚方式非常不同Q因为Blob自n有一个cursorQ你必须使用cursor对blobq行操作Q因而你在写入Blob之前Q必获得cursor才能q行写入Q那么如何获得Blob的cursor呢?

  q需要你先插入一个empty的blobQ这创Z个blob的cursorQ然后你再把q个empty的blob的cursor用select查询出来Q这样通过两步操作Q你p得了blob的cursorQ可以真正的写入blob数据了?

  看下面的JDBC的demoQ把oraclejdbc.jarq个二进制文件写入数据库表javatest的content字段(q是一个blob型字D?

  import java.sql.*;
  import java.io.*;
  import oracle.sql.*;
  public class WriteBlob {

  public static void main(String[] args) {

  try {
  DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
  Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","fankai","fankai");
  conn.setAutoCommit(false);

  BLOB blob = null;

  PreparedStatement pstmt = conn.prepareStatement("insert into javatest(name,content) values(?,empty_blob())");
  pstmt.setString(1,"fankai");
  pstmt.executeUpdate();
  pstmt.close();

  pstmt = conn.prepareStatement("select content from javatest where name= ? for update");
  pstmt.setString(1,"fankai");
  ResultSet rset = pstmt.executeQuery();
  if (rset.next()) blob = (BLOB) rset.getBlob(1);

  String fileName = "oraclejdbc.jar";
  File f = new File(fileName);
  FileInputStream fin = new FileInputStream(f);
  System.out.println("file size = " + fin.available());

  pstmt = conn.prepareStatement("update javatest set content=? where name=?");

  OutputStream out = blob.getBinaryOutputStream();

  int count = -1, total = 0;
  byte[] data = new byte[(int)fin.available()];
  fin.read(data);
  out.write(data);
  /*
  byte[] data = new byte[blob.getBufferSize()]; 另一U实现方?节省内存
  while ((count = fin.read(data)) != -1) {
   total += count;
   out.write(data, 0, count);
  }
  */

  fin.close();
  out.close();

  pstmt.setBlob(1,blob);
  pstmt.setString(2,"fankai");

  pstmt.executeUpdate();
  pstmt.close();

  conn.commit();
  conn.close();
  } catch (SQLException e) {
    System.err.println(e.getMessage());
  e.printStackTrace();
  } catch (IOException e) {
  System.err.println(e.getMessage());
  }
  }

  }

  仔细看上例,分三步:

  1、插入空blob

  into javatest(name,content) values(?,empty_blob());

  2、获得blob的cursor

  select content from javatest where name= ? for update;

  注意Q!Q必dfor updateQ这锁定该行,直至该行被修改完毕,保证不生ƈ发冲H?

  3、update javatest set content=? where name=

  用cursor往数据库写数据

  q里面还有一点要提醒大家Q?

  JDK1.3带的JDBC2.0规范是不完善的,只有读Blob的接口,而没有写Blob的接口,JDK1.4带的JDBC3.0加入了写Blob的接口。你可以使用JDBC3.0的接口,也可以直接用Oracle的JDBC的APIQ我在上例中使用了Oracle的JDBC的API?

  另外要注意的是:

  java.sql.Blob

  oracle.sql.BLOB

  注意看blob的大写Q是不一L。写E序的时候不要搞混了?

  下面看看用Hibernate怎么写,原理是一LQ也要分三步Q但是代码简单很?

  q是Cat对象定义

  package com.fankai;

  import java.sql.Blob;

  public class Cat {
  private String id;
  private String name;
  private char sex;
  private float weight;
  private Blob image;
  public Cat() { }

  public String getId() { return id; }
  public void setId(String id) { this.id = id; }

  public String getName() { return name; }
  public void setName(String name) { this.name = name; }

  public char getSex() { return sex; }
  public void setSex(char sex) { this.sex = sex; }

  public float getWeight() { return weight; }
  public void setWeight(float weight) { this.weight = weight; }

  public Blob getImage() { return image; }
  public void setImage(Blob image) { this.image = image;}
  }


  q是Cat.hbm.xml

  Q?xml version="1.0"?Q?
  Q?DOCTYPE hibernate-mapping SYSTEM "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd"Q?

  Qhibernate-mappingQ?
  Qclass name="com.fankai.Cat" table="cat"Q?
  Q?--jcs-cache usage="read-only"/--Q?
  Qid name="id" unsaved-value="null"Q?
  Qgenerator class="uuid.hex"/Q?
  Q?idQ?
  Qproperty name="name" length="16" not-null="true"/Q?
  Qproperty name="sex" length="1" not-null="true"/Q?
  Qproperty name="weight" /Q?
  Qproperty name="image" /Q?
  Q?classQ?
  Q?hibernate-mappingQ?

  下面是完整的用Hibernate写入Blob的例子,相比JDBCQ已l简单轻村֤了,也不用写那些OracleҎ的sql了:

  package com.fankai;

  import java.sql.Blob;
  import net.sf.hibernate.*;
  import oracle.sql.*;
  import java.io.*;

  public class TestCatHibernate {
  public static void testBlob() {
  Session s = null;
  byte[] buffer = new byte[1];
  buffer[0] = 1;
  try {
   SessionFactory sf = HibernateSessionFactory.getSessionFactory();
   s = sf.openSession();
   Transaction tx = s.beginTransaction();
   Cat c = new Cat();
   c.setName("Robbin");
   c.setImage(Hibernate.createBlob(buffer));
   s.save(c);
   s.flush();
   s.refresh(c, LockMode.UPGRADE);
   BLOB blob = (BLOB) c.getImage();
   OutputStream out = blob.getBinaryOutputStream();
   String fileName = "oraclejdbc.jar";
   File f = new File(fileName);
   FileInputStream fin = new FileInputStream(f);
   int count = -1, total = 0;
   byte[] data = new byte[(int)fin.available()];
   fin.read(data);
   out.write(data);
   fin.close();
   out.close();
   s.flush();
   tx.commit();

  } catch (Exception e) {
   System.out.println(e.getMessage());
  } finally {
   if (s != null)
   try {
    s.close();
   } catch (Exception e) {}
  }
  }
  }

Alex.xulei 2007-07-03 17:24 发表评论
]]>
中国地区三联动表单 http://www.aygfsteel.com/xuleinew/archive/2007/07/02/127544.htmlAlex.xuleiAlex.xuleiMon, 02 Jul 2007 06:10:00 GMThttp://www.aygfsteel.com/xuleinew/archive/2007/07/02/127544.htmlhttp://www.aygfsteel.com/xuleinew/comments/127544.htmlhttp://www.aygfsteel.com/xuleinew/archive/2007/07/02/127544.html#Feedback0http://www.aygfsteel.com/xuleinew/comments/commentRss/127544.htmlhttp://www.aygfsteel.com/xuleinew/services/trackbacks/127544.htmlarea.js:
function Dsy()
{
this.Items = {};
}
Dsy.prototype.add = function(id,iArray)
{
this.Items[id] = iArray;
}
Dsy.prototype.Exists = function(id)
{
if(typeof(this.Items[id]) == "undefined") return false;
return true;
}

function change(v){
var str="0";
for(i=0;i<v;i++){ str+=("_"+(document.getElementById(s[i]).selectedIndex-1));};
var ss=document.getElementById(s[v]);
with(ss){
length = 0;
options[0]=new Option(opt0[v],opt0[v]);
if(v && document.getElementById(s[v-1]).selectedIndex>0 || !v)
{
if(dsy.Exists(str)){
ar = dsy.Items[str];
for(i=0;i<ar.length;i++)options[length]=new Option(ar[i],ar[i]);
if(v)options[1].selected = true;
}
}
if(++v<s.length){change(v);}
}
}

var dsy = new Dsy();

dsy.add("0",["安徽","北京","徏","甘肃","q东","q西","贵州","南","沛_","沛_","黑龙?,"湖北","湖南","吉林","江苏","江西","辽宁","内蒙?,"宁夏","青v","׃","p","陕西","上v","四川","天|","西藏","新疆","云南","江","重庆"]);

dsy.add("0_0",["安庆","蚌埠","巢湖","池州","滁州","阜阳","合肥","淮北","淮南","黄山","六安","马鞍?,"宿州","铜陵","芜湖","宣城","些_"]);
dsy.add("0_0_0",["安庆?,"怀宁县","潜山?,"宿松?,"太湖?,"桐城?,"望江?,"岌?,"枞阳?]);
dsy.add("0_0_1",["蚌埠?,"固镇?,"怀q县","五河?]);
dsy.add("0_0_2",["巢湖?,"含山?,"和县","庐江?,"无ؓ?]);
dsy.add("0_0_3",["池州?,"东至?,"青阳?,"矛_?]);
dsy.add("0_0_4",["滁州?,"定远?,"凤阳?,"来安?,"明光?,"全椒?,"天长?]);
dsy.add("0_0_5",["阜南?,"阜阳?,"界首?,"临泉?,"太和?,"颖上?]);
dsy.add("0_0_6",["长丰?,"肥东?,"肥西?]);
dsy.add("0_0_7",["淮北?,"ȉ溪?]);
dsy.add("0_0_8",["凤台?,"淮南?]);
dsy.add("0_0_9",["黄山?,"门?,"休宁?,"歙县","黟县"]);
dsy.add("0_0_10",["霍邱?,"霍山?,"金寨?,"六安?,"寿县","舒城?]);
dsy.add("0_0_11",["当涂?,"马鞍山市"]);
dsy.add("0_0_12",["늒?,"宿州?,"萧县","泗县","砀山县"]);
dsy.add("0_0_13",["铜陵?,"铜陵?]);
dsy.add("0_0_14",["J昌?,"南陵?,"芜湖?,"芜湖?]);
dsy.add("0_0_15",["qd?,"l溪?,"郎溪?,"宁国?,"宣城?,"泑֎","旌d?]);
dsy.add("0_0_16",["利辛?,"蒙城?,"涡阳?,"些_?]);

dsy.add("0_1",["北京"]);
dsy.add("0_1_0",["北京?,"密云?,"延庆?]);

dsy.add("0_2",["州","龙岩","南^","宁d","莆田","泉州","三明","厦门","漛_"]);
dsy.add("0_2_0",["长乐?,"清?,"州?,"q江?,"|源?,"闽侯?,"闽清?,"qx?,"永泰?]);
dsy.add("0_2_1",["长汀?,"q城?,"龙岩?,"上杭?,"武^?,"永定?,"漛_^?]);
dsy.add("0_2_2",["光泽?,"建阳?,"建瓯?,"南^?,"城?,"邉|?,"昌?,"松溪?,"武夷山市","政和?]);
dsy.add("0_2_3",["安?,"鼎?,"古田?,"宁d?,"屏南?,"寿宁?,"霞?,"周宁?,"柘荣?]);
dsy.add("0_2_4",["莆田?,"仙游?]);
dsy.add("0_2_5",["安溪?,"德化?,"惠安?,"金门?,"晋江?,"南安?,"泉州?,"石狮?,"永春?]);
dsy.add("0_2_6",["大田?,"建宁?,"乐?,"明溪?,"宁化?,"清流?,"三明?,"沙县","泰宁?,"永安?,"溪?]);
dsy.add("0_2_7",["厦门?]);
dsy.add("0_2_8",["长泰?,"东山?,"华安?,"龙v?,"南靖?,"q_?,"云霄?,"x?,"漛_?,"诏安?]);

dsy.add("0_3",["白银","定西","甘南藏族自治?,"嘉峪?,"金昌","酒泉","兰州","临夏回族自治?,"陇南","q_","庆阳","天水","武威","张掖"]);
dsy.add("0_3_0",["白银?,"会宁?,"景泰?,"靖远?]);
dsy.add("0_3_1",["定西?,"临洮?,"陇西?,"通渭?,"渭源?,"漛_","岷县"]);
dsy.add("0_3_2",["q部?,"合作?,"临潭?,"曲?,"玛曲?,"夏河?,"舟曲?,"卓尼?]);
dsy.add("0_3_3",["嘉峪兛_"]);
dsy.add("0_3_4",["金昌?,"永昌?]);
dsy.add("0_3_5",["阿克塞哈萨克族自d","安西?,"敦煌?,"金塔?,"酒泉?,"肃北蒙古族自d","玉门?]);
dsy.add("0_3_6",["皋兰?,"兰州?,"永登?,"榆中?]);
dsy.add("0_3_7",["东乡族自d","q河?,"和政?,"U石׃安族东乡族撒拉族自治?,"康乐?,"临夏?,"临夏?,"气R?]);
dsy.add("0_3_8",["成县","徽县","康县","C县","两当?,"文县","武都?,"西和?,"宕昌?]);
dsy.add("0_3_9",["崇信?,"华亭?,"静宁?,"灵台?,"q_?,"庄浪?,"泑ַ?]);
dsy.add("0_3_10",["合水?,"华池?,"环县","宁县","庆城?,"庆阳?,"镇原?,"正宁?]);
dsy.add("0_3_11",["甘谷?,"U安?,"清水?,"天水?,"武山?,"张家川回族自d"]);
dsy.add("0_3_12",["古浪?,"民勤?,"天祝藏族自治?,"武威?]);
dsy.add("0_3_13",["高台?,"临泽?,"民乐?,"׃?,"肃南裕固族自d","张掖?]);

dsy.add("0_4",["潮州","东莞","佛山","q州","x","惠州","江门","揭阳","茂名","梅州","清远","汕头","汕尾","韶关","深圳","x","云Q","湛江","肇庆","中山","珠v"]);
dsy.add("0_4_0",["潮安?,"潮州?,"饶^?]);
dsy.add("0_4_1",["东莞?]);
dsy.add("0_4_2",["佛山?]);
dsy.add("0_4_3",["从化?,"q州?,"增城?]);
dsy.add("0_4_4",["东源?,"和^?,"x?,"q^?,"龙川?,"紫金?]);
dsy.add("0_4_5",["博罗?,"惠东?,"惠阳?,"惠州?,"龙门?]);
dsy.add("0_4_6",["恩^?,"鹤山?,"江门?,"开q_","台山?]);
dsy.add("0_4_7",["惠来?,"揭东?,"揭西?,"揭阳?,"普宁?]);
dsy.add("0_4_8",["늙?,"高州?,"化州?,"茂名?,"信宜?]);
dsy.add("0_4_9",["大埔?,"丰顺?,"蕉岭?,"梅县","梅州?,"q?,"五华?,"兴宁?]);
dsy.add("0_4_10",["佛冈?,"q南瑶族自治?,"q山壮族瑶族自治?,"q州?,"清新?,"清远?,"阛_?,"英d?]);
dsy.add("0_4_11",["潮阳?,"澄v?,"南澳?,"汕头?]);
dsy.add("0_4_12",["丰?,"陆丰?,"陆河?,"汕尾?]);
dsy.add("0_4_13",["乐昌?,"南雄?,"曲江?,"仁化?,"x瑶族自治?,"韶关?,"始兴?,"源?,"C?]);
dsy.add("0_4_14",["深圳?]);
dsy.add("0_4_15",["x?,"阳东?,"x?,"阌?]);
dsy.add("0_4_16",["|定?,"新兴?,"郁南?,"云安?,"云Q?]);
dsy.add("0_4_17",["雷州?,"廉江?,"遂溪?,"吴川?,"徐闻?,"湛江?]);
dsy.add("0_4_18",["德庆?,"开?,"高要?,"q宁?,"怀集县","四会?,"肇庆?]);
dsy.add("0_4_19",["中山?]);
dsy.add("0_4_20",["珠v?]);
dsy.add("0_5",["百色","北v","崇左","防城?,"桂林","贉|","x","贺州","来宾","柛_","南宁","钦州","梧州","玉林"]);
dsy.add("0_5_0",["百色?,"德保?,"靖西?,"乐业?,"凌云?,"隆林各族自治?,"那坡?,"qx?,"C?,"田林?,"田阳?,"西林?]);
dsy.add("0_5_1",["北v?,"合?]);
dsy.add("0_5_2",["崇左?,"大新?,"扶绥?,"龙州?,"宁明?,"凭祥?,"天等?]);
dsy.add("0_5_3",["东兴?,"防城港市","上思县"]);
dsy.add("0_5_4",["恭城瑶族自治?,"灌阳?,"桂林?,"荔?,"临桂?,"灵川?,"龙胜各族自治?,"q乐?,"全州?,"兴安?,"x?,"永福?,"资源?]);
dsy.add("0_5_5",["桂^?,"贉|?,"q_?]);
dsy.add("0_5_6",["巴马瑶族自治?,"大化瑶族自治?,"东兰?,"都安瑶族自治?,"凤山?,"x?,"环江毛南族自d","|城仡{族自d","南丹?,"天峨?,"宜州?]);
dsy.add("0_5_7",["富川瑶族自治?,"贺州?,"昭^?,"钟山?]);
dsy.add("0_5_8",["合山?,"金秀瑶族自治?,"来宾?,"武宣?,"象州?,"d?]);
dsy.add("0_5_9",["柛_?,"x?,"柛_?,"鹿寨?,"融安?,"融水苗族自治?,"三江侗族自治?]);
dsy.add("0_5_10",["N?,"横县","隆安?,"马山?,"南宁?,"上林?,"武鸣?,"邕宁?]);
dsy.add("0_5_11",["灵山?,"北?,"钦州?]);
dsy.add("0_5_12",["苍梧?,"蒙山?,"藤县","梧州?,"岑溪?]);
dsy.add("0_5_13",["北流?,"博白?,"陆川?,"容县","兴业?,"玉林?]);
dsy.add("0_6",["安顺","毕节","贵阳","六盘?,"黔东南苗族侗族自d","黔南布依族苗族自d","黔西南布依族苗族自治?,"铜仁","遵义"]);
dsy.add("0_6_0",["安顺?,"兛_布依族苗族自d","q_?,"普定?,"镇宁布依族苗族自d","紫云苗族布依族自d"]);
dsy.add("0_6_1",["毕节?,"大方?,"赫章?,"金沙?,"U雍?,"黔西?,"威宁彝族回族苗族自治?,"l金?]);
dsy.add("0_6_2",["贵阳?,"开阛_","清镇?,"息烽?,"修文?]);
dsy.add("0_6_3",["六盘水市","六枝特区","盘县","水城?]);
dsy.add("0_6_4",["从江?,"丹寨?,"黄^?,"剑河?,"锦屏?,"凯里?,"雷山?,"黎^?,"L?,"三穗?,"施秉?,"台江?,"天柱?,"镇远?,"岑m?,"榕江?]);
dsy.add("0_6_5",["镉K?,"都匀?,"独山?,"泉?,"贵定?,"惠水?,"荔L?,"龙里?,"|甸?,"q_?,"三都水族自治?,"瓮安?]);
dsy.add("0_6_6",["安龙?,"册亨?,"普安?,"晴隆?,"望谟?,"兴仁?,"兴义?,"贞丰?]);
dsy.add("0_6_7",["h?,"江口?,"石阡?,"思南?,"松桃苗族自治?,"铜仁?,"万山特区","沿河土家族自d","印江土家族苗族自d","玉屏侗族自治?]);
dsy.add("0_6_8",["赤水?,"道真仡{族苗族自d","凤冈?,"仁怀?,"l阳?,"桐梓?,"务川仡{族苗族自d","习水?,"余庆?,"正安?,"遵义?,"遵义?,"湄潭?]);

dsy.add("0_7",["白沙黎族自治?,"保亭黎族苗族自治?,"昌江黎族自治?,"澄迈?,"定安?,"东方","口","乐东黎族自治?,"临高?,"陉|黎族自治?,"琼v","g黎族苗族自治?,"三亚","屯昌?,"万宁","文昌","五指?,"儋州"]);
dsy.add("0_7_0",["白沙黎族自治?]);
dsy.add("0_7_1",["保亭黎族苗族自治?]);
dsy.add("0_7_2",["昌江黎族自治?]);
dsy.add("0_7_3",["澄迈?]);
dsy.add("0_7_4",["定安?]);
dsy.add("0_7_5",["东方?]);
dsy.add("0_7_6",["口?]);
dsy.add("0_7_7",["乐东黎族自治?]);
dsy.add("0_7_8",["临高?]);
dsy.add("0_7_9",["陉|黎族自治?]);
dsy.add("0_7_10",["琼v?]);
dsy.add("0_7_11",["g黎族苗族自治?]);
dsy.add("0_7_12",["三亚?]);
dsy.add("0_7_13",["屯昌?]);
dsy.add("0_7_14",["万宁?]);
dsy.add("0_7_15",["文昌?]);
dsy.add("0_7_16",["五指山市"]);
dsy.add("0_7_17",["儋州?]);

dsy.add("0_8",["保定","沧州","承d","邯郸","衡水","廊坊","U皇?,"矛_?,"唐山","邢台","张家?]);
dsy.add("0_8_0",["安国?,"安新?,"保定?,"博野?,"定兴?,"定州?,"阜^?,"高碑店市","高阳?,"满城?,"清苑?,"曲阳?,"容城?,"^?,"唐县","望都?,"雄县","徐水?,"易县","涞水?,"涞源?,"涿州?,"蠡县"]);
dsy.add("0_8_1",["泊头?,"沧县","沧州?,"东光?,"兴?,"河间?,"黄骅?,"孟村回族自治?,"南皮?,"青县","M?,"肃宁?,"吴桥?,"献县","盐山?]);
dsy.add("0_8_2",["承d?,"承d?,"丰宁满族自治?,"宽城满族自治?,"隆化?,"滦^?,"qx?,"围场满族蒙古族自d","兴隆?]);
dsy.add("0_8_3",["成安?,"县","大名?,"肥乡?,"馆陶?,"q^?,"邯郸?,"邯郸?,"鸡泽?,"临漳?,"邱县","曲周?,"涉县","县","武安?,"永年?]);
dsy.add("0_8_4",["安^?,"阜城?,"故城?,"衡水?,"冀州市","景县","饉?,"深州?,"武强?,"武邑?,"枣强?]);
dsy.add("0_8_5",["霸州?,"大厂回族自治?,"大城?,"固安?,"廊坊?,"三河?,"文安?,"香河?,"永清?]);
dsy.add("0_8_6",["昌黎?,"抚宁?,"卢龙?,"U皇岛市","青龙满族自治?]);
dsy.add("0_8_7",["高邑?,"晋州?,"井陉?,"灵寿?,"鹿泉?,"q_?,"深泽?,"矛_庄市","无极?,"辛集?,"C?,"行唐?,"元氏?,"赞皇?,"赵县","正定?,"藁城?,"树֟?]);
dsy.add("0_8_8",["乐亭?,"滦南?,"滦县","q安?,"q西?,"唐v?,"唐山?,"玉田?,"遵化?]);
dsy.add("0_8_9",["柏乡?,"q宗?,"巨鹿?,"临城?,"临西?,"隆尧?,"南宫?,"南和?,"内丘?,"宁晋?,"q乡?,"清河?,"d","沙河?,"威县","新河?,"邢台?,"邢台?]);
dsy.add("0_8_10",["赤城?,"崇礼?,"沽源?,"怀安县","怀来县","康保?,"义?,"万全?,"蔚县","宣化?,"阛_?,"张北?,"张家口市","涉K?]);


dsy.add("0_9",["安阳","鹤壁","源","焦作","开?,"z阳","南阳","q顶?,"三门?,"商丘","C","信阳","许昌","郑州","周口","驻马?,"漯河","Ȯ阳"]);
dsy.add("0_9_0",["安阳?,"安阳?,"滑县","林州?,"内黄?,"汤阴?]);
dsy.add("0_9_1",["","鹤壁?,"县","淇县"]);
dsy.add("0_9_2",["源?]);
dsy.add("0_9_3",["博爱?,"焦作?,"孟州?,"沁阳?,"温县","武陟?,"修武?]);
dsy.add("0_9_4",["开市","开县","兰考县","通许?,"氏?,"杞县"]);
dsy.add("0_9_5",["z宁?,"z阳?,"孟|?,"汝阳?,"新安?,"伊川?,"宜阳?,"偃师?,"嵩县","树ַ?]);
dsy.add("0_9_6",["邓州?,"方城?,"南阳?,"南召?,"内乡?,"C旗?,"唐河?,"桐柏?,"西?,"新野?,"镇^?,"淅川?]);
dsy.add("0_9_7",["宝丰?,"鲁山?,"q顶山市","汝州?,"舞钢?,"叶县","郏县"]);
dsy.add("0_9_8",["灵宝?,"卢氏?,"三门峡市","陕县","义马?,"渑池?]);
dsy.add("0_9_9",["民权?,"宁陵?,"商丘?,"夏邑?,"永城?,"虞城?,"柘城?,"睢县"]);
dsy.add("0_9_10",["长垣?,"丘?,"辉县?,"获嘉?,"卫辉?,"C?,"C?,"延|?,"原阳?]);
dsy.add("0_9_11",["固始?,"光山?,"淮滨?,"|山?,"商城?,"息县","新县","信阳?,"潢川?]);
dsy.add("0_9_12",["长葛?,"襄城?,"许昌?,"许昌?,"州?,"鄢陵?]);
dsy.add("0_9_13",["d?,"巩义?,"新密?,"新郑?,"郑州?,"中牟?,"荥阳?]);
dsy.add("0_9_14",["郸城?,"扶沟?,"淮阳?,"鹉K?,"商水?,"沈丘?,"太康?,"西华?,"城?,"周口?]);
dsy.add("0_9_15",["泌阳?,"q?,"山?,"汝南?,"上蔡?,"遂^?,"西^?,"新蔡?,"正阳?,"驻马店市"]);
dsy.add("0_9_16",["临颍?,"舞阳?,"郑֟?,"漯河?]);
dsy.add("0_9_17",["范县","南乐?,"清丰?,"台前?,"Ȯ阳?,"Ȯ阳?]);


dsy.add("0_10",["大庆","大兴安岭","哈尔?,"鹤岗","黑河","鸡西","x?,"牡丹?,"七台?,"齐齐哈尔","双鸭?,"l化","伊春"]);
dsy.add("0_10_0",["大庆?,"杜尔伯特蒙古族自d","林甸?,"肇源?,"肇州?]);
dsy.add("0_10_1",["呼玛?,"漠河?,"塔河?]);
dsy.add("0_10_2",["阿城?,"巴R?,"宑֎","Ҏ?,"哈尔滨市","呼兰?,"木兰?,"志?,"双城?,"通河?,"五常?,"延寿?,"依兰?]);
dsy.add("0_10_3",["鹤岗?,"萝北?,"l滨?]);
dsy.add("0_10_4",["北安?,"黑河?,"嫩江?,"孙吴?,"五大q池?,"逊克?]);
dsy.add("0_10_5",["虎林?,"鸡东?,"鸡西?,"密山?]);
dsy.add("0_10_6",["抚远?,"富锦?,"x斯市","汤原?,"同江?,"桦川?,"桦南?]);
dsy.add("0_10_7",["东宁?,"h?,"林口?,"牡丹江市","I棱?,"宁安?,"l芬沛_"]);
dsy.add("0_10_8",["勃利?,"七台沛_"]);
dsy.add("0_10_9",["拜泉?,"富裕?,"甘南?,"克东?,"克山?,"龙江?,"齐齐哈尔?,"泰来?,"依安?,"h?]);
dsy.add("0_10_10",["宝清?,"集贤?,"饶河?,"双鸭山市","友谊?]);
dsy.add("0_10_11",["安达?,"u?,"兰西?,"明水?,"青冈?,"庆安?,"l化?,"l棱?,"望奎?,"肇东?]);
dsy.add("0_10_12",["嘉荫?,"铁力?,"伊春?]);

dsy.add("0_11",["鄂州","恩施土家族苗族自d","黄冈","黄石","荆门","荆州","潜江","农架林?,"十堰","随州","天门","武汉","仙桃","咸宁","襄樊","孝感","宜昌"]);
dsy.add("0_11_0",["鄂州?]);
dsy.add("0_11_1",["巴东?,"恩施?,"鹤峰?,"建始?,"来凤?,"利川?,"怸?,"宣恩?]);
dsy.add("0_11_2",["U安?,"黄冈?,"黄梅?,"|田?,"d?,"团风?,"武穴?,"英山?,"蕲春?,"水?]);
dsy.add("0_11_3",["大冶?,"黄石?,"x?]);
dsy.add("0_11_4",["荆门?,"京山?,"沙洋?,"钟祥?]);
dsy.add("0_11_5",["公安?,"z湖?,"监利?,"江陵?,"荆州?,"石首?,"松滋?]);
dsy.add("0_11_6",["潜江?]);
dsy.add("0_11_7",["农架林?]);
dsy.add("0_11_8",["Ҏ口市","房县","十堰?,"郧西?,"郧县","竹山?,"Ҏ?]);
dsy.add("0_11_9",["q水?,"随州?]);
dsy.add("0_11_10",["天门?]);
dsy.add("0_11_11",["武汉?]);
dsy.add("0_11_12",["仙桃?]);
dsy.add("0_11_13",["赤壁?,"崇阳?,"嘉鱼?,"通城?,"通山?,"咸宁?]);
dsy.add("0_11_14",["保康?,"谷城?,"老河口市","南漳?,"襄樊?,"宜城?,"枣阳?]);
dsy.add("0_11_15",["安陆?,"大悟?,"汉川?,"孝昌?,"孝感?,"应城?,"云梦?]);
dsy.add("0_11_16",["镉K土家族自d","当阳?,"五峰土家族自d","兴山?,"宜昌?,"宜都?,"q安?,"枝江?,"U归?]);

dsy.add("0_12",["常d","长沙","郴州","衡阳","怀?,"娄底","邵阳","湘潭","湘西土家族苗族自d","益阳","永州","岳阳","张家?,"株洲"]);
dsy.add("0_12_0",["安乡?,"常d?,"汉寿?,"z市?,"临澧?,"石门?,"桃源?,"澧县"]);
dsy.add("0_12_1",["长沙?,"长沙?,"宁乡?,"望城?,"阳?]);
dsy.add("0_12_2",["安仁?,"郴州?,"桂东?,"桂阳?,"嘉禾?,"临武?,"汝城?,"宜章?,"永兴?,"资兴?]);
dsy.add("0_12_3",["常宁?,"衡东?,"衡南?,"衡山?,"衡阳?,"衡阳?,"东?,"耒阳?]);
dsy.add("0_12_4",["辰溪?,"z江?,"怀化市","会同?,"靖州苗族侗族自治?,"麻阳苗族自治?,"通道侗族自治?,"新晃侗族自治?,"中方?,"h侗族自治?,"沅陵?,"溆?]);
dsy.add("0_12_5",["h江市","涟源?,"娄底?,"双峰?,"新化?]);
dsy.add("0_12_6",["城步苗族自治?,"z口?,"隆回?,"邵东?,"邵阳?,"邵阳?,"l宁?,"武冈?,"新宁?,"新邵?]);
dsy.add("0_12_7",["韶山?,"湘潭?,"湘潭?,"湘乡?]);
dsy.add("0_12_8",["保靖?,"凤凰?,"古丈?,"花垣?,"吉首?,"龙山?,"气R?,"泸溪?]);
dsy.add("0_12_9",["安化?,"南县","桃江?,"益阳?,"沅江?]);
dsy.add("0_12_10",["道县","东安?,"江华瑶族自治?,"江永?,"蓝山?,"宁远?,"阳?,"双牌?,"新田?,"永州?]);
dsy.add("0_12_11",["华容?,"临湘?,"qx?,"湘阴?,"岳阳?,"岳阳?,"汨罗?]);
dsy.add("0_12_12",["慈利?,"桑植?,"张家界市"]);
dsy.add("0_12_13",["茉?,"炎陵?,"株洲?,"株洲?,"攸县","醴陵?]);

dsy.add("0_13",["白城","白山","长春","吉林","辽源","四^","村֎","通化","延边朝鲜族自d"]);
dsy.add("0_13_0",["白城?,"大安?,"通榆?,"镇赉?,"z南?]);
dsy.add("0_13_1",["白山?,"长白朝鲜族自d","抚松?,"江源?,"靖宇?,"临江?]);
dsy.add("0_13_2",["长春?,"h?,"九台?,"农安?,"榆树?]);
dsy.add("0_13_3",["吉林?,"石?,"舒兰?,"永吉?,"桦甸?,"蛟河?]);
dsy.add("0_13_4",["东丰?,"东辽?,"辽源?]);
dsy.add("0_13_5",["公主岭市","梨树?,"双辽?,"四^?,"伊通满族自d"]);
dsy.add("0_13_6",["长岭?,"扶余?,"乑֮?,"前郭罗斯蒙古族自治?,"村֎?]);
dsy.add("0_13_7",["辉南?,"集安?,"x?,"梅河口市","通化?,"通化?]);
dsy.add("0_13_8",["安图?,"敦化?,"和龙?,"龙井?,"图们?,"汪清?,"延吉?,"珲春?]);


dsy.add("0_14",["常州","淮安","q云?,"南京","南?,"苏州","宿迁","泰州","无锡","徐州","盐城","扬州","镇江"]);
dsy.add("0_14_0",["常州?,"金坛?,"溧阳?]);
dsy.add("0_14_1",["z泽?,"淮安?,"金湖?,"涟水?,"q?]);
dsy.add("0_14_2",["东v?,"赣榆?,"灌南?,"灌云?,"q云港市"]);
dsy.add("0_14_3",["高柩?,"南京?,"溧水?]);
dsy.add("0_14_4",["安?,"门?,"南通市","启东?,"如东?,"如皋?,"通州?]);
dsy.add("0_14_5",["常熟?,"昆山?,"苏州?,"太仓?,"吴江?,"张家港市"]);
dsy.add("0_14_6",["宿迁?,"宿U?,"沭阳?,"泗洪?,"泗阳?]);
dsy.add("0_14_7",["姜堰?,"靖江?,"泰兴?,"泰州?,"兴化?]);
dsy.add("0_14_8",["江阴?,"无锡?,"宜兴?]);
dsy.add("0_14_9",["丰县","沛县","铜山?,"新沂?,"徐州?,"邛_?,"睢宁?]);
dsy.add("0_14_10",["滨v?,"大丰?,"东台?,"阜宁?,"建湖?,"阳?,"响水?,"盐城?,"盐都?]);
dsy.add("0_14_11",["宝应?,"高邮?,"江都?,"扬州?,"仪征?]);
dsy.add("0_14_12",["业w?,"句容?,"扬中?,"镇江?]);

dsy.add("0_15",["抚州","赣州","吉安","景d?,"九江","南昌","萍乡","上饶","C","宜春","鹰潭"]);
dsy.add("0_15_0",["崇仁?,"东乡?,"抚州?,"q昌?,"金溪?,"乐安?,"黎川?,"南城?,"南丰?,"宜黄?,"资溪?]);
dsy.add("0_15_1",["安远?,"崇义?,"大余?,"定南?,"赣县","赣州?,"会昌?,"龙南?,"南康?,"宁都?,"全南?,"瑞金?,"上犹?,"矛_?,"信丰?,"兴国?,"M?,"于都?]);
dsy.add("0_15_2",["安福?,"吉安?,"吉安?,"吉水?,"井冈山市","遂川?,"泰和?,"万安?,"峡江?,"新干?,"怸?,"永新?]);
dsy.add("0_15_3",["梁?,"景d镇市","乐^?]);
dsy.add("0_15_4",["德安?,"都昌?,"湖口?,"九江?,"九江?,"彭泽?,"瑞昌?,"武宁?,"星子?,"修水?,"怿?]);
dsy.add("0_15_5",["安义?,"q贤?,"南昌?,"南昌?,"新徏?]);
dsy.add("0_15_6",["莲花?,"芦溪?,"萍乡?,"上栗?]);
dsy.add("0_15_7",["波阳?,"德兴?,"q丰?,"横峰?,"铅山?,"上饶?,"上饶?,"万年?,"余干?,"玉山?,"弋阳?,"婺源?]);
dsy.add("0_15_8",["分宜?,"C?]);
dsy.add("0_15_9",["丰城?,"奉新?,"高安?,"靖安?,"上高?,"铜鼓?,"万蝲?,"宜春?,"宜丰?,"樟树?]);
dsy.add("0_15_10",["贉|?,"鹰潭?,"余江?]);

dsy.add("0_16",["鞍山","本溪","朝阳","大连","丹东","抚顺","阜新","葫芦?,"锦州","辽阳","盘锦","沈阳","铁岭","营口"]);
dsy.add("0_16_0",["鞍山?,"城?,"台安?,"岫岩满族自治?]);
dsy.add("0_16_1",["本溪满族自治?,"本溪?,"桓仁满族自治?]);
dsy.add("0_16_2",["北票?,"朝阳?,"朝阳?,"建^?,"喀喇沁左翼蒙古族自d","凌源?]);
dsy.add("0_16_3",["长v?,"大连?,"普兰店市","瓦房店市","庄河?]);
dsy.add("0_16_4",["丹东?,"东港?,"凤城?,"宽甸满族自治?]);
dsy.add("0_16_5",["抚顺?,"抚顺?,"清原满族自治?,"新宾满族自治?]);
dsy.add("0_16_6",["阜新蒙古族自d","阜新?,"彰武?]);
dsy.add("0_16_7",["葫芦岛市","建昌?,"l中?,"兴城?]);
dsy.add("0_16_8",["北宁?,"黑山?,"锦州?,"凌v?,"义县"]);
dsy.add("0_16_9",["灯塔?,"辽阳?,"辽阳?]);
dsy.add("0_16_10",["大洼?,"盘锦?,"盘山?]);
dsy.add("0_16_11",["法库?,"康^?,"辽中?,"沈阳?,"新民?]);
dsy.add("0_16_12",["昌图?,"调兵山市","开原市","铁岭?,"铁岭?,"西丰?]);
dsy.add("0_16_13",["大石桥市","盖州?,"营口?]);

dsy.add("0_17",["阿拉善盟","巴R淖尔?,"包头","赤峰","鄂尔多斯","呼和特","gu贝尔","通辽","乌v","乌兰察布?,"锡林郭勒?,"兴安?]);
dsy.add("0_17_0",["阿拉善右?,"阿拉善左?,"额济Ux"]);
dsy.add("0_17_1",["杭锦后旗","临河?,"乌拉特后?,"乌拉特前?,"乌拉特中?,"五原?,"口?]);
dsy.add("0_17_2",["包头?,"辑ְ|茂明安联合?,"固阳?,"土默特右?]);
dsy.add("0_17_3",["阉KU尔沁旗","敖汉?,"巴林x","巴林左旗","赤峰?,"喀喇沁?,"克什克腾?,"林西?,"宁城?,"牛Ҏ"]);
dsy.add("0_17_4",["达拉Ҏ","鄂尔多斯?,"鄂托克旗","鄂托克前?,"杭锦?,"乌审?,"伊金霍洛?,"准格旗"]);
dsy.add("0_17_5",["和林格尔?,"呼和特?,"清水沛_","土默特左?,"托克托县","武川?]);
dsy.add("0_17_6",["阿荣?,"陈巴虎?,"额尔古纳?,"鄂u春自L","鄂温克族自治?,"Ҏ?,"gu贝尔?,"满洲里市","莫力辄达斡族自治?,"新巴虎x","新巴虎左旗","牙克矛_","扎兰屯市"]);
dsy.add("0_17_7",["霍林郭勒?,"开鲁县","U尔沁左后?,"U尔沁左g?,"库u?,"奈曼?,"通辽?,"扎鲁Ҏ"]);
dsy.add("0_17_8",["乌v?]);
dsy.add("0_17_9",["察哈右后?,"察哈右前?,"察哈右g?,"丰镇?,"化d?,"集宁?,"凉城?,"商都?,"四子王旗","兴和?,"卓资?]);
dsy.add("0_17_10",["阿巴嘎旗","东乌珠穆沁旗","多u?,"二连特?,"苏尼特右?,"苏尼特左?,"太仆寺旗","西乌珠穆沁旗","锡林特?,"镉?,"正蓝?,"正镶白旗"]);
dsy.add("0_17_11",["阿尔山市","U尔沁右前?,"U尔沁右g?,"H泉?,"乌兰特?,"扎赉Ҏ"]);


dsy.add("0_18",["固原","矛_?,"吴忠","银川"]);
dsy.add("0_18_0",["固原?,"原?,"隆d?,"彭阳?,"西吉?,"泾源?]);
dsy.add("0_18_1",["惠农?,"q罗?,"矛_山市","陶乐?]);
dsy.add("0_18_2",["青铜峡市","同心?,"吴忠?,"盐池?,"中宁?,"中卫?]);
dsy.add("0_18_3",["贺兰?,"灉|?,"银川?,"永宁?]);


dsy.add("0_19",["果洛藏族自治?,"北藏族自治?,"东","南藏族自治?,"蒙古族藏族自d","黄南藏族自治?,"西宁","玉树藏族自治?]);
dsy.add("0_19_0",["班玛?,"达日?,"甘d?,"久治?,"玛多?,"玛沁?]);
dsy.add("0_19_1",["刚察?,"h?,"门源回族自治?,"连?]);
dsy.add("0_19_2",["互助土族自治?,"化隆回族自治?,"乐都?,"民和回族土族自治?,"q_?,"循化撒拉族自d"]);
dsy.add("0_19_3",["共和?,"贵d?,"贵南?,"同d?,"兴v?]);
dsy.add("0_19_4",["德o哈市","都兰?,"格尔木市","天峻?,"乌兰?]);
dsy.add("0_19_5",["沛_蒙古族自d","扎?,"同仁?,"泽库?]);
dsy.add("0_19_6",["大通回族土族自d","西宁?,"湟源?,"湟中?]);
dsy.add("0_19_7",["U多?,"囊谦?,"曲麻莱县","玉树?,"杂多?,"d?]);


dsy.add("0_20",["滨州","德州","东营","菏泽","南","宁","p","聊城","临沂","青岛","日照","泰安","威v","潍坊","烟台","枣庄","淄博"]);
dsy.add("0_20_0",["滨州?,"博兴?,"惠民?,"无棣?,"阳信?,"沑֌?,"邹^?]);
dsy.add("0_20_1",["德州?,"乐陵?,"临邑?,"陵县","宁|?,"q_?,"齐河?,"庆云?,"武城?,"夏|?,"城?]);
dsy.add("0_20_2",["东营?,"qK?,"垦利?,"利|?]);
dsy.add("0_20_3",["曹县","成武?,"单县","定陶?,"东明?,"菏泽?,"巨野?,"郓城?,"鄄城?]);
dsy.add("0_20_4",["南?,"阳?,"q阴?,"商河?,"章丘?]);
dsy.add("0_20_5",["宁?,"嘉祥?,"金乡?,"梁山?,"曲阜?,"微山?,"鱼台?,"邹城?,"兖州?,"汶上?,"泗水?]);
dsy.add("0_20_6",["p?]);
dsy.add("0_20_7",["东阿?,"高唐?,"冠县","聊城?,"临清?,"阌?,"茌^?,"莘县"]);
dsy.add("0_20_8",["苍山?,"费县","临沂?,"临沭?,"蒙阴?,"q邑?,"沂南?,"沂水?,"郯城?,"莒南?]);
dsy.add("0_20_9",["卛_?,"胶南?,"胶州?,"p?,"q_?,"青岛?]);
dsy.add("0_20_10",["日照?,"五莲?,"莒县"]);
dsy.add("0_20_11",["东^?,"肥城?,"宁阳?,"泰安?,"新泰?]);
dsy.add("0_20_12",["荣成?,"乛_?,"威v?,"文登?]);
dsy.add("0_20_13",["安丘?,"昌乐?,"昌邑?,"高密?,"临朐?,"青州?,"寿光?,"潍坊?,"诸城?]);
dsy.add("0_20_14",["长岛?,"阳?,"莱阳?,"莱州?,"龙口?,"蓬莱?,"栖霞?,"烟台?,"招远?]);
dsy.add("0_20_15",["枣庄?,"滕州?]);
dsy.add("0_20_16",["高青?,"桓台?,"沂源?,"淄博?]);


dsy.add("0_21",["长治","大同","晋城","晋中","临汾","吕梁","朔州","太原","d","x","q城"]);
dsy.add("0_21_0",["长治?,"长治?,"长子?,"壶关?,"黎城?,"潞城?,"q顺?,"沁县","沁源?,"屯留?,"武乡?,"襄垣?]);
dsy.add("0_21_1",["大同?,"大同?,"q灵?,"源?,"灵丘?,"天镇?,"阳高?,"左云?]);
dsy.add("0_21_2",["高^?,"晋城?,"陵川?,"沁水?,"阛_?,"泽州?]);
dsy.add("0_21_3",["和顺?,"介休?,"晋中?,"늟?,"q遥?,"县","寉K?,"太谷?,"昔阳?,"榆社?,"左权?]);
dsy.add("0_21_4",["安泽?,"大宁?,"汾西?,"山?,"古县","z洞?,"侯马?,"霍州?,"吉县","临汾?,"蒲县","曲沃?,"襄汾?,"乡宁?,"城?,"永和?,"隰县"]);
dsy.add("0_21_5",["方山?,"N?,"交城?,"交口?,"ȝ?,"临县","x?,"x?,"文水?,"孝义?,"兴县","中阳?,"岚县"]);
dsy.add("0_21_6",["怀仁县","山阴?,"朔州?,"应县","右玉?]);
dsy.add("0_21_7",["古交?,"娄烦?,"清徐?,"太原?,"x?]);
dsy.add("0_21_8",["保d?,"代县","定襄?,"J峙?,"x?,"静乐?,"宁武?,"偏关?,"池?,"五台?,"五寨?,"d?,"原^?,"岢岚?]);
dsy.add("0_21_9",["q_?,"x?,"盂县"]);
dsy.add("0_21_10",["x|?,"临猗?,"q陆?,"万荣?,"d?,"夏县","新绛?,"永济?,"垣曲?,"q城?,"芮城?,"l县","E山?]);


dsy.add("0_22",["安康","宝鸡","汉中","商洛","铜川","渭南","西安","咔R","延安","榆林"]);
dsy.add("0_22_0",["安康?,"白河?,"汉阴?,"宁陕?,"q_?,"x?,"旬阳?,"镇坪?,"紫阳?,"岚皋?]);
dsy.add("0_22_1",["宝鸡?,"宝鸡?,"凤县","凤翔?,"扉?,"陇县","眉县","千阳?,"太白?,"岐山?,"麟游?]);
dsy.add("0_22_2",["城固?,"佛坪?,"汉中?,"留坝?,"略阳?,"勉县","南郑?,"宁强?,"西乡?,"z县","镇巴?]);
dsy.add("0_22_3",["丹凤?,"z南?,"山阳?,"商洛?,"商南?,"镇安?,"柞水?]);
dsy.add("0_22_4",["铜川?,"宜君?]);
dsy.add("0_22_5",["白水?,"澄城?,"大荔?,"富^?,"韩城?,"合阳?,"华县","华阴?,"蒲城?,"渭南?,"潼关?]);
dsy.add("0_22_6",["高陵?,"户县","蓝田?,"西安?,"周至?]);
dsy.add("0_22_7",["彬县","长武?,"淛_?,"C泉?,"乑֎","三原?,"武功?,"咔R?,"兴^?,"旬邑?,"永寿?,"N?]);
dsy.add("0_22_8",["安塞?,"富县","甘泉?,"黄陵?,"黄龙?,"z川?,"吴旗?,"延安?,"廉?,"延川?,"宜川?,"志丹?,"子长?]);
dsy.add("0_22_9",["定边?,"府谷?,"横山?,"佛_","靖边?,"c?,"清V?,"木?,"ld?,"吴堡?,"榆林?,"子洲?]);


dsy.add("0_23",["上v"]);
dsy.add("0_23_0",["","崇明?,"上v?]);

dsy.add("0_24",["阿坝藏族族自治?,"巴中","成都","辑ַ","德阳","甘孜藏族自治?,"q安","q元","乐山","凉山彝族自治?,"眉山","l阳","南充","内江","攀枝花","遂宁","雅安","宜宾","资阳","自A","泸州"]);
dsy.add("0_24_0",["阿坝?,"黑水?,"U原?,"金川?,"九寨沟县","理县","马尔康县","茂县","壤塘?,"若尔盖县","松潘?,"金?,"汶川?]);
dsy.add("0_24_1",["巴中?,"南江?,"qx?,"通江?]);
dsy.add("0_24_2",["成都?,"崇州?,"大邑?,"都江堰市","金堂?,"彭州?,"蒲江?,"双流?,"新|?,"邛崃?,"郫县"]);
dsy.add("0_24_3",["辑֎","辑ַ?,"大竹?,"开江县","渠县","万源?,"宣汉?]);
dsy.add("0_24_4",["德阳?,"q汉?,"|江?,"l늫?,"什邡市","中江?]);
dsy.add("0_24_5",["巴塘?,"白玉?,"丹巴?,"Ed?,"道孚?,"h?,"得荣?,"甘孜?,"九龙?,"康定?,"理塘?,"炉霍?,"色达?,"x?,"乡城?,"新龙?,"雅江?,"泸定?]);
dsy.add("0_24_6",["q安?,"华蓥?,"L?,"武胜?,"x?]);
dsy.add("0_24_7",["苍溪?,"q元?,"剑阁?,"青川?,"?]);
dsy.add("0_24_8",["峨边彝族自治?,"峨眉山市","Ҏ?,"井研?,"乐山?,"马边彝族自治?,"沐川?,"犍ؓ?]);
dsy.add("0_24_9",["布拖?,"h?,"甘洛?,"会东?,"会理?,"金阳?,"hL?,"姑?,"冕宁?,"木里藏族自治?,"宁南?,"普格?,"西昌?,"喜d?,"盐源?,"西?,"昭觉?]);
dsy.add("0_24_10",["Ҏ?,"z雅?,"眉山?,"彭山?,"青神?,"仁寿?]);
dsy.add("0_24_11",["安县","北川?,"江a?,"l阳?,"qx?,"三台?,"盐亭?,"梓潼?]);
dsy.add("0_24_12",["南部?,"南充?,"蓬安?,"西充?,"仪陇?,"营山?,"阆中?]);
dsy.add("0_24_13",["隆昌?,"内江?,"威远?,"资中?]);
dsy.add("0_24_14",["cx?,"攀枝花?,"盐边?]);
dsy.add("0_24_15",["大英?,"蓬溪?,"洪?,"遂宁?]);
dsy.add("0_24_16",["宝兴?,"汉源?,"芦山?,"名山?,"x?,"天全?,"雅安?,"荥经?]);
dsy.add("0_24_17",["长宁?,"高县","江安?,"南溪?,"屏山?,"兴文?,"宜宾?,"宜宾?,"珙县","{连?]);
dsy.add("0_24_18",["安岳?,"阛_","乐至?,"资阳?]);
dsy.add("0_24_19",["富顺?,"荣县","自A?]);
dsy.add("0_24_20",["古蔺?,"合江?,"叙永?,"泸县","泸州?]);


dsy.add("0_25",["天|"]);
dsy.add("0_25_0",["","蓟县","静v?,"宁河?,"天|?]);

dsy.add("0_26",["阉K","昌都","拉萨","林芝","那曲","日喀?,"山南"]);
dsy.add("0_26_0",["措勤?,"噶尔?,"改则?,"革吉?,"普兰?,"日土?,"札达?]);
dsy.add("0_26_1",["八宿?,"边坝?,"察雅?,"昌都?,"丁青?,"贡觉?,"江达?,"cM齐县","z隆?,"芒康?,"左A?]);
dsy.add("0_26_2",["辑֭?,"当雄?,"堆龙德庆?,"拉萨?,"林周?,"墨竹工卡?,"木?,"曲水?]);
dsy.add("0_26_3",["波密?,"察隅?,"工布江达?,"朗县","林芝?,"cx?,"墨脱?]);
dsy.add("0_26_4",["安多?,"巴青?,"班戈?,"比如?,"嘉黎?,"那曲?,"玛?,"聂荣?,"x?,"索县"]);
dsy.add("0_26_5",["昂仁?,"白朗?,"定结?,"定日?,"岗巴?,"吉隆?,"江孜?,"康马?,"拉孜?,"南木林县","聂拉木县","仁布?,"日喀则市","萨嘎?,"萨迦?,"谢通门?,"亚东?,"仲巴?]);
dsy.add("0_26_6",["措美?,"错那?,"贡嘎?,"加查?,"卡子县","隆子?,"z扎?,"乃东?,"琼结?,"曲松?,"桑日?,"扎囊?]);


dsy.add("0_27",["阿克?,"阿拉?,"巴音郭楞蒙古自治?,"博尔塔拉蒙古自治?,"昌吉回族自治?,"哈密","和田","喀什","克拉玛依","克孜勒苏柯尔克孜自治?,"x?,"图木舒克","吐鲁?,"乌鲁木齐","五家?,"伊犁哈萨克自d"]);
dsy.add("0_27_0",["阿克苏市","阿瓦提县","拜城?,"柯坪?,"库R?,"沙雅?,"温宿?,"乌什?,"新和?]);
dsy.add("0_27_1",["阿拉市"]);
dsy.add("0_27_2",["博湖?,"和静?,"和硕?,"库尔勒市","轮台?,"且末?,"若羌?,"犁?,"焉耆回族自d"]);
dsy.add("0_27_3",["博乐?,"_河?,"温泉?]);
dsy.add("0_27_4",["昌吉?,"阜康?,"呼图壁县","吉木萨尔?,"玛纳斯县","cx?,"木垒哈萨克自d","奇台?]);
dsy.add("0_27_5",["巴里坤哈萨克自治?,"哈密?,"伊吾?]);
dsy.add("0_27_6",["{勒?,"和田?,"和田?,"z?,"民丰?,"墨玉?,"皮山?,"于田?]);
dsy.add("0_27_7",["巴楚?,"喀什?,"麦盖提县","莎R?,"疏附?,"疏勒?,"塔什库尔q塔吉克自治?,"叶城?,"英吉沙县","x湖县","泽普?,"伽师?]);
dsy.add("0_27_8",["克拉玛依?]);
dsy.add("0_27_9",["阿合奇县","阿克陶县","阿图什?,"乌恰?]);
dsy.add("0_27_10",["x子市"]);
dsy.add("0_27_11",["图木舒克?]);
dsy.add("0_27_12",["吐鲁番市","托克逊县","鄯善?]);
dsy.add("0_27_13",["乌鲁木齐?,"乌鲁木齐?]);
dsy.add("0_27_14",["五家渠市"]);
dsy.add("0_27_15",["阿勒泰市","布尔z县","察布查尔锡伯自治?,"额敏?,"v?,"富蕴?,"巩留?,"哈巴沛_","和布克赛蒙古自d","霍城?,"吉木乃县","奎屯?,"勒克县","青河?,"沙湾?,"塔城?,"特克斯县","托里?,"乌苏?,"新源?,"伊宁?,"伊宁?,"裕民?,"昭苏?]);


dsy.add("0_28",["保山","楚雄彝族自治?,"大理白族自治?,"德宏傣族景颇族自d","q庆藏族自治?,"U河哈尼族彝族自d","昆明","丽江","临","怒江傈傈族自d","曲靖","思茅","文山壮族苗族自治?,"西双版纳傣族自治?,"玉溪","昭?]);
dsy.add("0_28_0",["保山?,"昌宁?,"龙陵?,"施甸?,"腑ֆ?]);
dsy.add("0_28_1",["楚雄?,"大姚?,"丰?,"牟定?,"南华?,"双柏?,"武定?,"姚安?,"总?,"元谋?]);
dsy.add("0_28_2",["宑ַ?,"大理?,"z源?,"鹤庆?,"剑川?,"弥渡?,"南V彝族自治?,"巍山彝族回族自治?,"云?,"漾濞彝族自治?,"永^?,"云龙?]);
dsy.add("0_28_3",["梁河?,"陇川?,"潞西?,"瑞丽?,"盈江?]);
dsy.add("0_28_4",["德钦?,"l西傈僳族自d","香格里拉?]);
dsy.add("0_28_5",["个旧?,"沛_瑶族自治?,"U河?,"建水?,"金^苗族瑶族傣族自治?,"开q市","l春?,"蒙自?,"弥勒?,"屏边苗族自治?,"矛_?,"元阳?,"泸西?]);
dsy.add("0_28_6",["安宁?,"呈A?,"富民?,"晋宁?,"昆明?,"劝彝族苗族自治?,"x彝族自治?,"ȝ回族自治?,"宜良?,"嵩明?]);
dsy.add("0_28_7",["华坪?,"丽江?,"宁蒗彝族自治?,"永胜?,"玉龙U族自d"]);
dsy.add("0_28_8",["沧源佤族自治?,"凤庆?,"耉K傣族佤族d","临?,"双江拉祜族T族布朗族傣族自治?,"永d?,"云县","镇康?]);
dsy.add("0_28_9",["A?,"贡山独龙族怒族自治?,"兰坪白族普米族自d","泸水?]);
dsy.add("0_28_10",["富源?,"会泽?,"陆良?,"|^?,"马龙?,"曲靖?,"师宗?,"宣威?,"沄?]);
dsy.add("0_28_11",["江城哈尼族彝族自d","景东彝族自治?,"景谷彝族傣族自治?,"澜拉祜族自d","孟连傣族拉祜族T族自d","墨江哈尼族自d","普洱哈尼族彝族自d","思茅?,"西盟佤族自治?,"镇沅彝族哈尼族拉族自治?]);
dsy.add("0_28_12",["富宁?,"q南?,"L坡县","马关?,"丘北?,"文山?,"西畴?,"砚山?]);
dsy.add("0_28_13",["景洪?,"勐v?,"勐腊?]);
dsy.add("0_28_14",["澄江?,"峨山彝族自治?,"华宁?,"江川?,"通v?,"新^彝族傣族自治?,"易门?,"玉溪?,"元江哈尼族彝族傣族自d"]);
dsy.add("0_28_15",["大关?,"鲁甸?,"巧家?,"水富?,"l江?,"威信?,"盐|?,"彝良?,"永善?,"昭通市","镇雄?]);

dsy.add("0_29",["杭州","湖州","嘉兴","金华","丽水","宁L","l兴","台州","温州","舟山","衢州"]);
dsy.add("0_29_0",["淛_?,"富阳?,"杭州?,"建d?,"临安?,"桐庐?]);
dsy.add("0_29_1",["安吉?,"长兴?,"h?,"湖州?]);
dsy.add("0_29_2",["宁?,"L?,"嘉善?,"嘉兴?,"qx?,"桐乡?]);
dsy.add("0_29_3",["东阳?,"金华?,"兰溪?,"安?,"江?,"武义?,"义乌?,"永康?]);
dsy.add("0_29_4",["景宁畲族自治?,"丽水?,"龙泉?,"青田?,"庆元?,"N?,"遂昌?,"云和?,"~云?]);
dsy.add("0_29_5",["慈溪?,"奉化?,"宁L?,"宁v?,"象山?,"余姚?]);
dsy.add("0_29_6",["上虞?,"l兴?,"l兴?,"新昌?,"诸暨?,"嵊州?]);
dsy.add("0_29_7",["临v?,"三门?,"台州?,"天台?,"温岭?,"仙居?,"玉环?]);
dsy.add("0_29_8",["苍南?,"z头?,"乐清?,"q阳?,"瑞安?,"泰顺?,"温州?,"文成?,"永嘉?]);
dsy.add("0_29_9",["舟山?,"岱山?,"嵊泗?]);
dsy.add("0_29_10",["常山?,"江山?,"开化县","龙游?,"衢州?]);

dsy.add("0_30",["重庆"]);
dsy.add("0_30_0",["城口?,"大?,"垫江?,"丰都?,"奉节?,"合川?,"江|?,"开?,"梁^?,"南川?,"彭水苗族土家族自d","荣昌?,"x土家族自d","铜梁?,"巫山?,"巫溪?,"武隆?,"U山土家族苗族自治?,"永川?,"酉阳土家族苗族自d","云阳?,"忠县","重庆?,"潼南?,"璧山?,"E江?]);

var s=["province","city","county"];
var opt0 = ["省䆾","地?,"市、县U市、县"];
function setup()
{
for(i=0;i<s.length-1;i++)
document.getElementById(s[i]).onchange=new Function("change("+(i+1)+")");
change(0);
}

用法如下Q?/strong>

代码
  1. <html>  
  2. <head>  
  3.     <title>中国地区三联动表单</title>  
  4.     <script language="javascript" src="area.js"></script>    
  5. </head>  
  6. <body>  
  7. <form id="Form1" method="post" runat="server">    
  8.    <FONT face="宋体">    
  9.    <P>所在地Q?nbsp;   
  10.    <Select id="province" runat="server" NAME="province">    
  11.    </Select>    
  12.    <Select id="city" runat="server" NAME="city">    
  13.    </Select>    
  14.    <Select id="county" runat="server" NAME="city">    
  15.    </Select>    
  16.    </P>    
  17.    </FONT>    
  18.    <!--js初始化函?->    
  19.    <SCRIPT language="javascript">    
  20.    setup()    
  21.    </SCRIPT>    
  22.    </form>    
  23. </body>  
  24. </html>


Alex.xulei 2007-07-02 14:10 发表评论
]]>
正则表达式学?/title><link>http://www.aygfsteel.com/xuleinew/archive/2007/07/02/127523.html</link><dc:creator>Alex.xulei</dc:creator><author>Alex.xulei</author><pubDate>Mon, 02 Jul 2007 05:06:00 GMT</pubDate><guid>http://www.aygfsteel.com/xuleinew/archive/2007/07/02/127523.html</guid><wfw:comment>http://www.aygfsteel.com/xuleinew/comments/127523.html</wfw:comment><comments>http://www.aygfsteel.com/xuleinew/archive/2007/07/02/127523.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/xuleinew/comments/commentRss/127523.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/xuleinew/services/trackbacks/127523.html</trackback:ping><description><![CDATA[<p>有个朋友问我Q怎么判断一个字W串中的某一位是数字Q于是在|上帮他找,因ؓ昨天刚学了点正则Q还不会?见笑)。但是有qRC全面的文章?׃q没学会贴图片我q接脓|址?<br><a target=blank><u><font color=#0000ff>http://www.ccw.com.cn/htm/app/aprog/01_7_31_4.asp</font></u></a> </p> <p>q篇文章整理得很详细。不q对于急于解决问题的h来说Q还有一个方法来判断?/p> <p>跟朋友说的时候,他说他想C个好办法Character.isDigit(ch);用这个方法,我想他是要把String拆成char了。在q个c里面有如下的方法: <br>static boolean isDefined(char ch) <br>static boolean isDigit(char ch) <br>static boolean isIdentifierIgnorable(char ch) <br>static boolean isISOControl(char ch) <br>static boolean isJavaIdentifierPart(char ch) <br>static boolean isJavaIdentifierStart(char ch) <br>static boolean isJavaLetter(char ch) <br>static boolean isJavaLetterOrDigit(char ch) <br>static boolean isLetter(char ch) <br>static boolean isLetterOrDigit(char ch) <br>static boolean isLowerCase(char ch) <br>static boolean isMirrored(char c) <br>static boolean isSpace(char ch) <br>static boolean isSpaceChar(char ch) <br>static boolean isTitleCase(char ch) <br>static boolean isUnicodeIdentifierPart(char ch) <br>static boolean isUnicodeIdentifierStart(char ch) <br>static boolean isUpperCase(char ch) <br>static boolean isWhitespace(char ch) <br>把String拆成char之后可以这样判断了Q没有测q那U更好,见仁见智啦?/p> <p>以下文章来自Q?<br><a target=blank><u><font color=#0000ff>http://publishblog.blogchina.com/blog/tb.b?diaryID=5453641</font></u></a> </p> <p><strong><span style="FONT-SIZE: 18pt">JavaScript 正则表达?/span></strong> <br></p> <div id="wmqeeuq" class=code_title>代码</div> <div id="wmqeeuq" class=code_div> <div id="wmqeeuq" class=dp-highlighter> <div id="wmqeeuq" class=bar></div> <ol class=dp-j> <li id="wmqeeuq" class=alt><span><span id="wmqeeuq" class=comment>//校验是否全由数字l成  </span><span>  </span></span> <li id="wmqeeuq" class=""><span>function isDigit(s)   </span> <li id="wmqeeuq" class=alt><span>{   </span> <li id="wmqeeuq" class=""><span>var patrn=/^[</span><span id="wmqeeuq" class=number>0</span><span>-</span><span id="wmqeeuq" class=number>9</span><span>]{</span><span id="wmqeeuq" class=number>1</span><span>,</span><span id="wmqeeuq" class=number>20</span><span>}$/;   </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=keyword>if</span><span> (!patrn.exec(s)) </span><span id="wmqeeuq" class=keyword>return</span><span> </span><span id="wmqeeuq" class=keyword>false</span><span>  </span> <li id="wmqeeuq" class=""><span></span><span id="wmqeeuq" class=keyword>return</span><span> </span><span id="wmqeeuq" class=keyword>true</span><span>  </span> <li id="wmqeeuq" class=alt><span>}   </span> <li id="wmqeeuq" class=""><span></span><span id="wmqeeuq" class=comment>//校验d名:只能输入5-20个以字母开头、可带数字?#8220;_”?#8220;.”的字?nbsp; </span><span>  </span> <li id="wmqeeuq" class=alt><span>function isRegisterUserName(s)   </span> <li id="wmqeeuq" class=""><span>{   </span> <li id="wmqeeuq" class=alt><span>var patrn=/^[a-zA-Z]{</span><span id="wmqeeuq" class=number>1</span><span>}([a-zA-Z0-</span><span id="wmqeeuq" class=number>9</span><span>]|[._]){</span><span id="wmqeeuq" class=number>4</span><span>,</span><span id="wmqeeuq" class=number>19</span><span>}$/;   </span> <li id="wmqeeuq" class=""><span></span><span id="wmqeeuq" class=keyword>if</span><span> (!patrn.exec(s)) </span><span id="wmqeeuq" class=keyword>return</span><span> </span><span id="wmqeeuq" class=keyword>false</span><span>  </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=keyword>return</span><span> </span><span id="wmqeeuq" class=keyword>true</span><span>  </span> <li id="wmqeeuq" class=""><span>}   </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=comment>//校验用户姓名Q只能输?-30个以字母开头的字串  </span><span>  </span> <li id="wmqeeuq" class=""><span>function isTrueName(s)   </span> <li id="wmqeeuq" class=alt><span>{   </span> <li id="wmqeeuq" class=""><span>var patrn=/^[a-zA-Z]{</span><span id="wmqeeuq" class=number>1</span><span>,</span><span id="wmqeeuq" class=number>30</span><span>}$/;   </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=keyword>if</span><span> (!patrn.exec(s)) </span><span id="wmqeeuq" class=keyword>return</span><span> </span><span id="wmqeeuq" class=keyword>false</span><span>  </span> <li id="wmqeeuq" class=""><span></span><span id="wmqeeuq" class=keyword>return</span><span> </span><span id="wmqeeuq" class=keyword>true</span><span>  </span> <li id="wmqeeuq" class=alt><span>}   </span> <li id="wmqeeuq" class=""><span>}}   </span> <li id="wmqeeuq" class=alt><span>  </span> <li id="wmqeeuq" class=""><span></span><span id="wmqeeuq" class=comment>//校验密码Q只能输?-20个字母、数字、下划线 </span><span>  </span> <li id="wmqeeuq" class=alt><span>{{{   </span> <li id="wmqeeuq" class=""><span>function isPasswd(s)   </span> <li id="wmqeeuq" class=alt><span>{   </span> <li id="wmqeeuq" class=""><span>var patrn=/^(\w){</span><span id="wmqeeuq" class=number>6</span><span>,</span><span id="wmqeeuq" class=number>20</span><span>}$/;   </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=keyword>if</span><span> (!patrn.exec(s)) </span><span id="wmqeeuq" class=keyword>return</span><span> </span><span id="wmqeeuq" class=keyword>false</span><span>  </span> <li id="wmqeeuq" class=""><span></span><span id="wmqeeuq" class=keyword>return</span><span> </span><span id="wmqeeuq" class=keyword>true</span><span>  </span> <li id="wmqeeuq" class=alt><span>}   </span> <li id="wmqeeuq" class=""><span></span><span id="wmqeeuq" class=comment>//校验普通电话、传真怕耄嚎梢ʎ?”开_除数字外Q可含有“-”  </span><span>  </span> <li id="wmqeeuq" class=alt><span>function isTel(s)   </span> <li id="wmqeeuq" class=""><span>{   </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=comment>//var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/; </span><span>  </span> <li id="wmqeeuq" class=""><span>var patrn=/^[+]{</span><span id="wmqeeuq" class=number>0</span><span>,</span><span id="wmqeeuq" class=number>1</span><span>}(\d){</span><span id="wmqeeuq" class=number>1</span><span>,</span><span id="wmqeeuq" class=number>3</span><span>}[ ]?([-]?((\d)|[ ]){</span><span id="wmqeeuq" class=number>1</span><span>,</span><span id="wmqeeuq" class=number>12</span><span>})+$/;   </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=keyword>if</span><span> (!patrn.exec(s)) </span><span id="wmqeeuq" class=keyword>return</span><span> </span><span id="wmqeeuq" class=keyword>false</span><span>  </span> <li id="wmqeeuq" class=""><span></span><span id="wmqeeuq" class=keyword>return</span><span> </span><span id="wmqeeuq" class=keyword>true</span><span>  </span> <li id="wmqeeuq" class=alt><span>}   </span> <li id="wmqeeuq" class=""><span></span><span id="wmqeeuq" class=comment>//校验手机LQ必M数字开_除数字外Q可含有“-”  </span><span>  </span> <li id="wmqeeuq" class=alt><span>function isMobil(s)   </span> <li id="wmqeeuq" class=""><span>{   </span> <li id="wmqeeuq" class=alt><span>var patrn=/^[+]{</span><span id="wmqeeuq" class=number>0</span><span>,</span><span id="wmqeeuq" class=number>1</span><span>}(\d){</span><span id="wmqeeuq" class=number>1</span><span>,</span><span id="wmqeeuq" class=number>3</span><span>}[ ]?([-]?((\d)|[ ]){</span><span id="wmqeeuq" class=number>1</span><span>,</span><span id="wmqeeuq" class=number>12</span><span>})+$/;   </span> <li id="wmqeeuq" class=""><span></span><span id="wmqeeuq" class=keyword>if</span><span> (!patrn.exec(s)) </span><span id="wmqeeuq" class=keyword>return</span><span> </span><span id="wmqeeuq" class=keyword>false</span><span>  </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=keyword>return</span><span> </span><span id="wmqeeuq" class=keyword>true</span><span>  </span> <li id="wmqeeuq" class=""><span>}   </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=comment>//校验邮政~码  </span><span>  </span> <li id="wmqeeuq" class=""><span>function isPostalCode(s)   </span> <li id="wmqeeuq" class=alt><span>{   </span> <li id="wmqeeuq" class=""><span></span><span id="wmqeeuq" class=comment>//var patrn=/^[a-zA-Z0-9]{3,12}$/; </span><span>  </span> <li id="wmqeeuq" class=alt><span>var patrn=/^[a-zA-Z0-</span><span id="wmqeeuq" class=number>9</span><span> ]{</span><span id="wmqeeuq" class=number>3</span><span>,</span><span id="wmqeeuq" class=number>12</span><span>}$/;   </span> <li id="wmqeeuq" class=""><span></span><span id="wmqeeuq" class=keyword>if</span><span> (!patrn.exec(s)) </span><span id="wmqeeuq" class=keyword>return</span><span> </span><span id="wmqeeuq" class=keyword>false</span><span>  </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=keyword>return</span><span> </span><span id="wmqeeuq" class=keyword>true</span><span>  </span> <li id="wmqeeuq" class=""><span>}   </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=comment>//校验搜烦关键?nbsp; </span><span>  </span> <li id="wmqeeuq" class=""><span>function isSearch(s)   </span> <li id="wmqeeuq" class=alt><span>{   </span> <li id="wmqeeuq" class=""><span>var patrn=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;</span><span id="wmqeeuq" class=string>'\,.<>/?]{1}[^`~!@$%^&()+=|\\\] </span>  <li id="wmqeeuq" class=alt><span><span id="wmqeeuq" class=string>        [\]\{\}:;'</span><span>\,.<>?]{</span><span id="wmqeeuq" class=number>0</span><span>,</span><span id="wmqeeuq" class=number>19</span><span>}$/;   </span></span> <li id="wmqeeuq" class=""><span></span><span id="wmqeeuq" class=keyword>if</span><span> (!patrn.exec(s)) </span><span id="wmqeeuq" class=keyword>return</span><span> </span><span id="wmqeeuq" class=keyword>false</span><span>  </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=keyword>return</span><span> </span><span id="wmqeeuq" class=keyword>true</span><span>  </span> <li id="wmqeeuq" class=""><span>}   </span> <li id="wmqeeuq" class=alt><span>  </span> <li id="wmqeeuq" class=""><span>function isIP(s) </span><span id="wmqeeuq" class=comment>//by zergling </span><span>  </span> <li id="wmqeeuq" class=alt><span>{   </span> <li id="wmqeeuq" class=""><span>var patrn=/^[</span><span id="wmqeeuq" class=number>0</span><span>-</span><span id="wmqeeuq" class=number>9</span><span>.]{</span><span id="wmqeeuq" class=number>1</span><span>,</span><span id="wmqeeuq" class=number>20</span><span>}$/;   </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=keyword>if</span><span> (!patrn.exec(s)) </span><span id="wmqeeuq" class=keyword>return</span><span> </span><span id="wmqeeuq" class=keyword>false</span><span>  </span> <li id="wmqeeuq" class=""><span></span><span id="wmqeeuq" class=keyword>return</span><span> </span><span id="wmqeeuq" class=keyword>true</span><span>  </span> <li id="wmqeeuq" class=alt><span>}   </span> <li id="wmqeeuq" class=""><span>正则表达?  </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=string>"^\\d+$"</span><span>  </span><span id="wmqeeuq" class=comment>//非负整数Q正整数 + 0Q?</span><span>  </span> <li id="wmqeeuq" class=""><span></span><span id="wmqeeuq" class=string>"^[0-9]*[1-9][0-9]*$"</span><span>  </span><span id="wmqeeuq" class=comment>//正整?nbsp; </span><span>  </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=string>"^((-\\d+)|(0+))$"</span><span>  </span><span id="wmqeeuq" class=comment>//非正整数Q负整数 + 0Q?nbsp; </span><span>  </span> <li id="wmqeeuq" class=""><span></span><span id="wmqeeuq" class=string>"^-[0-9]*[1-9][0-9]*$"</span><span>  </span><span id="wmqeeuq" class=comment>//负整?nbsp; </span><span>  </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=string>"^-?\\d+$"</span><span>    </span><span id="wmqeeuq" class=comment>//整数  </span><span>  </span> <li id="wmqeeuq" class=""><span></span><span id="wmqeeuq" class=string>"^\\d+(\\.\\d+)?$"</span><span>  </span><span id="wmqeeuq" class=comment>//非负点敎ͼ正QҎ + 0Q?nbsp; </span><span>  </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=string>"^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"</span><span>    </span> <li id="wmqeeuq" class=""><span></span><span id="wmqeeuq" class=comment>//正QҎ  </span><span>  </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=string>"^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$"</span><span>  </span><span id="wmqeeuq" class=comment>//非正点敎ͼ负QҎ + 0Q?nbsp; </span><span>  </span> <li id="wmqeeuq" class=""><span></span><span id="wmqeeuq" class=string>"^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"</span><span>    </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=comment>//负QҎ  </span><span>  </span> <li id="wmqeeuq" class=""><span></span><span id="wmqeeuq" class=string>"^(-?\\d+)(\\.\\d+)?$"</span><span>  </span><span id="wmqeeuq" class=comment>//点?nbsp; </span><span>  </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=string>"^[A-Za-z]+$"</span><span>  </span><span id="wmqeeuq" class=comment>//?6个英文字母组成的字符?nbsp; </span><span>  </span> <li id="wmqeeuq" class=""><span></span><span id="wmqeeuq" class=string>"^[A-Z]+$"</span><span>  </span><span id="wmqeeuq" class=comment>//?6个英文字母的大写l成的字W串  </span><span>  </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=string>"^[a-z]+$"</span><span>  </span><span id="wmqeeuq" class=comment>//?6个英文字母的写l成的字W串  </span><span>  </span> <li id="wmqeeuq" class=""><span></span><span id="wmqeeuq" class=string>"^[A-Za-z0-9]+$"</span><span>  </span><span id="wmqeeuq" class=comment>//由数字和26个英文字母组成的字符?nbsp; </span><span>  </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=string>"^\\w+$"</span><span>  </span><span id="wmqeeuq" class=comment>//由数字?6个英文字母或者下划线l成的字W串  </span><span>  </span> <li id="wmqeeuq" class=""><span></span><span id="wmqeeuq" class=string>"^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$"</span><span>    </span><span id="wmqeeuq" class=comment>//email地址  </span><span>  </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=string>"^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$"</span><span>  //url   </span> <li id="wmqeeuq" class=""><span></span><span id="wmqeeuq" class=string>"^[A-Za-z0-9_]*$"</span><span>  </span></li> </ol> </div> </div> <script type=text/javascript>render_code();</script> <br><strong>正则表达式用详?/strong> <br>?<br>单的_正则表达式是一U可以用于模式匹配和替换的强有力的工兗其作用如下Q测试字W串的某个模式。例如,可以对一个输入字W串q行试Q看在该字符串是否存在一个电话号码模式或一个信用卡L模式。这UCؓ数据有效性验证?替换文本。可以在文档中用一个正则表辑ּ来标识特定文字,然后可以全部其删除Q或者替换ؓ别的文字?Ҏ模式匚w从字W串中提取一个子字符丌Ӏ可以用来在文本或输入字D中查找特定文字?<br>基本语法 <br>在对正则表达式的功能和作用有了初步的了解之后Q我们就来具体看一下正则表辑ּ的语法格式?正则表达式的形式一般如下:   <br>/love/  其中位于“/”定界W之间的部分是要在目标对象中q行匚w的模式。用户只要把希望查找匚w对象的模式内Ҏ?#8220;/”定界W之间即可。ؓ了能够用户更加灉|的定制模式内容,正则表达式提供了专门?#8220;元字W?#8221;。所谓元字符是指那些在正则表达式中hҎ意义的专用字W,可以用来规定其前导字W(即位于元字符前面的字W)在目标对象中的出现模式?较ؓ常用的元字符包括Q?“+”Q?“*”Q以?“?”?<br>“+”元字W规定其前导字符必须在目标对象中q箋出现一ơ或多次?<br>“*”元字W规定其前导字符必须在目标对象中出现零次或连l多ơ?<br>“?”元字W规定其前导对象必须在目标对象中q箋出现零次或一ơ?<br>下面Q就让我们来看一下正则表辑ּ元字W的具体应用?<br>/fo+/  因ؓ上述正则表达式中包含“+”元字W,表示可以与目标对象中?“fool”, “fo”, 或?“football”{在字母f后面q箋出现一个或多个字母o的字W串相匹配?<br>/eg*/  因ؓ上述正则表达式中包含“*”元字W,表示可以与目标对象中?“easy”, “ego”, 或?“egg”{在字母e后面q箋出现零个或多个字母g的字W串相匹配?<br>/Wil?/  因ؓ上述正则表达式中包含“Q?#8221;元字W,表示可以与目标对象中?“Win”, 或?#8220;Wilson”,{在字母i后面q箋出现零个或一个字母l的字W串相匹配?<br>有时候不知道要匹配多字W。ؓ了能适应q种不确定性,正则表达式支持限定符的概c这些限定符可以指定正则表达式的一个给定组件必要出现多少ơ才能满_配?<br>{n} n 是一个非负整数。匹配确定的 n ơ。例如,'o{2}' 不能匚w "Bob" 中的 'o'Q但是能匚w "food" 中的两个 o?<br>{n,} n 是一个非负整数。至匹?n ơ。例如,'o{2,}' 不能匚w "Bob" 中的 'o'Q但能匹?"foooood" 中的所?o?o{1,}' {h?'o+'?o{0,}' 则等价于 'o*'?<br>{n,m} m ?n 均ؓ非负整数Q其中n <= m。最匹?n ơ且最多匹?m ơ。例如,"o{1,3}" 匹?"fooooood" 中的前三?o?o{0,1}' {h?'o?'。请注意在逗号和两个数之间不能有空根{?<br>除了元字W之外,用户q可以精指定模式在匚w对象中出现的频率。例如,/jim {2,6}/ 上述正则表达式规定字Wm可以在匹配对象中q箋出现2-6ơ,因此Q上q正则表辑ּ可以同jimmy或jimmmmmy{字W串相匹配?在对如何使用正则表达式有了初步了解之后,我们来看一下其它几个重要的元字W的使用方式?<br>\sQ用于匹配单个空格符Q包括tab键和换行W; <br>\SQ用于匹配除单个I格W之外的所有字W; <br>\dQ用于匹配从0?的数字; <br>\wQ用于匹配字母,数字或下划线字符Q?<br>\WQ用于匹配所有与\w不匹配的字符Q?<br>. Q用于匹配除换行W之外的所有字W?<br>Q说明:我们可以把\s和\S以及\w和\W看作互ؓ逆运) 下面Q我们就通过实例看一下如何在正则表达式中使用上述元字W?/\s+/ 上述正则表达式可以用于匹配目标对象中的一个或多个I格字符?/\d000/ 如果我们手中有一份复杂的财务报表Q那么我们可以通过上述正则表达式轻而易丄查找到所有总额辑֍元的N?除了我们以上所介绍的元字符之外Q正则表辑ּ中还h另外一U较为独特的专用字符Q即定位W。定位符用于规定匚w模式在目标对象中的出C|?较ؓ常用的定位符包括Q?“^”, “$”, “\b” 以及 “\B”?<br>“^”定位W规定匹配模式必d现在目标字符串的开?<br>“$”定位W规定匹配模式必d现在目标对象的结?<br>“\b”定位W规定匹配模式必d现在目标字符串的开头或l尾的两个边界之一 <br>“\B”定位W则规定匚w对象必须位于目标字符串的开头和l尾两个边界之内Q?<br>卛_配对象既不能作ؓ目标字符串的开_也不能作为目标字W串的结?<br>同样Q我们也可以?#8220;^”?#8220;$”以及“\b”?#8220;\B”看作是互为逆运的两组定位W。D例来_ /^hell/ 因ؓ上述正则表达式中包含“^”定位W,所以可以与目标对象中以 “hell”, “hello”?#8220;hellhound”开头的字符串相匚w?/ar$/ 因ؓ上述正则表达式中包含“$”定位W,所以可以与目标对象中以 “car”, “bar”?“ar” l尾的字W串相匹配?/\bbom/ 因ؓ上述正则表达式模式以“\b”定位W开_所以可以与目标对象中以 “bomb”, ?“bom”开头的字符串相匚w?man\b/ 因ؓ上述正则表达式模式以“\b”定位W结,所以可以与目标对象中以 “human”, “woman”?“man”l尾的字W串相匹配?Z能够方便用户更加灉|的设定匹配模式,正则表达式允怋用者在匚w模式中指定某一个范围而不局限于具体的字W。例如: <br>/[A-Z]/  上述正则表达式将会与从A到Z范围内Q何一个大写字母相匚w?<br>/[a-z]/  上述正则表达式将会与从a到z范围内Q何一个小写字母相匚w?<br>/[0-9]/  上述正则表达式将会与??范围内Q何一个数字相匚w?<br>/([a-z][A-Z][0-9])+/ 上述正则表达式将会与M由字母和数字l成的字W串Q如 “aB0” {相匚w?<br>q里需要提醒用h意的一点就是可以在正则表达式中使用 “()” 把字W串l合在一赗?#8220;()”W号包含的内容必d时出现在目标对象中。因此,上述正则表达式将无法与诸?“abc”{的字符串匹配,因ؓ“abc”中的最后一个字Wؓ字母而非数字?如果我们希望在正则表辑ּ中实现类似编E逻辑中的“?#8221;q算Q在多个不同的模式中任选一个进行匹配的话,可以使用道W?“|”。例如:/to|too|2/ 上述正则表达式将会与目标对象中的 “to”, “too”, ?“2” 相匹配。正则表辑ּ中还有一个较为常用的q算W,卛_定符 “[^]”。与我们前文所介绍的定位符 “^” 不同Q否定符 “[^]”规定目标对象中不能存在模式中所规定的字W串。例如:/[^A-C]/ 上述字符串将会与目标对象中除AQBQ和C之外的Q何字W相匚w。一般来_?#8220;^”出现?“[]”内时p视做否定q算W;而当“^”位于“[]”之外Q或没有“[]”Ӟ则应当被视做定位W。最后,当用户需要在正则表达式的模式中加入元字符Qƈ查找其匹配对象时Q可以用{义符“\”。例如:/Th\*/  上述正则表达式将会与目标对象中的“Th*”而非“The”{相匚w。在构造正则表辑ּ之后Q就可以象数学表辑ּ一h求|也就是说Q可以从左至叛_ƈ按照一个优先序来求倹{优先如下Q?<br> <div id="wmqeeuq" class=code_title>代码</div> <div id="wmqeeuq" class=code_div> <div id="wmqeeuq" class=dp-highlighter> <div id="wmqeeuq" class=bar></div> <ol class=dp-j> <li id="wmqeeuq" class=alt><span><span id="wmqeeuq" class=number>1</span><span>Q\ 转义W?  </span></span> <li id="wmqeeuq" class=""><span></span><span id="wmqeeuq" class=number>2</span><span>Q?), (?:), (?=), [] 圆括号和Ҏ?  </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=number>3</span><span>Q?, +, ?, {n}, {n,}, {n,m} 限定W?  </span> <li id="wmqeeuq" class=""><span></span><span id="wmqeeuq" class=number>4</span><span>Q^, $, \anymetacharacter 位置和顺?  </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=number>5</span><span>Q|“?#8221;操作  </span></li> </ol> </div> </div> <script type=text/javascript>render_code();</script> 使用实例 <br>在JavaScript 1.2中带有一个功能强大的RegExp()对象Q可以用来进行正则表辑ּ的匹配操作。其中的test()Ҏ可以验目标对象中是否包含匚w模式Qƈ相应的返回true或false。我们可以用JavaScript~写以下脚本Q验证用戯入的邮g地址的有效性?<br> <div id="wmqeeuq" class=code_title>代码</div> <div id="wmqeeuq" class=code_div> <div id="wmqeeuq" class=dp-highlighter> <div id="wmqeeuq" class=bar></div> <ol class=dp-xml> <li id="wmqeeuq" class=alt><span><span id="wmqeeuq" class=tag><</span><span id="wmqeeuq" class=tag-name>html</span><span id="wmqeeuq" class=tag>></span><span>    </span></span> <li id="wmqeeuq" class=""><span></span><span id="wmqeeuq" class=tag><</span><span id="wmqeeuq" class=tag-name>head</span><span id="wmqeeuq" class=tag>></span><span>    </span> <li id="wmqeeuq" class=alt><span>  </span><span id="wmqeeuq" class=tag><</span><span id="wmqeeuq" class=tag-name>script</span><span> </span><span id="wmqeeuq" class=attribute>language</span><span>=</span><span id="wmqeeuq" class=attribute-value>"Javascript1.2"</span><span id="wmqeeuq" class=tag>></span><span>    </span> <li id="wmqeeuq" class=""><span>     <!-- start hiding    </span> <li id="wmqeeuq" class=alt><span>     function verifyAddress(obj)    </span> <li id="wmqeeuq" class=""><span>     {    </span> <li id="wmqeeuq" class=alt><span>      var </span><span id="wmqeeuq" class=attribute>email</span><span> = </span><span id="wmqeeuq" class=attribute-value>obj</span><span>.email.value;    </span> <li id="wmqeeuq" class=""><span>      var </span><span id="wmqeeuq" class=attribute>pattern</span><span> =    </span> <li id="wmqeeuq" class=alt><span>/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;    </span> <li id="wmqeeuq" class=""><span>      </span><span id="wmqeeuq" class=attribute>flag</span><span> = </span><span id="wmqeeuq" class=attribute-value>pattern</span><span>.test(email);    </span> <li id="wmqeeuq" class=alt><span>      if(flag)    </span> <li id="wmqeeuq" class=""><span>      {    </span> <li id="wmqeeuq" class=alt><span>       alert(“Your email address is correct!”);    </span> <li id="wmqeeuq" class=""><span>       return true;    </span> <li id="wmqeeuq" class=alt><span>      }    </span> <li id="wmqeeuq" class=""><span>      else    </span> <li id="wmqeeuq" class=alt><span>       {    </span> <li id="wmqeeuq" class=""><span>        alert(“Please try again!”);    </span> <li id="wmqeeuq" class=alt><span>        return false;    </span> <li id="wmqeeuq" class=""><span>        }    </span> <li id="wmqeeuq" class=alt><span>      }    </span> <li id="wmqeeuq" class=""><span>     // stop hiding --</span><span id="wmqeeuq" class=tag>></span><span>    </span> <li id="wmqeeuq" class=alt><span>    </span><span id="wmqeeuq" class=tag></</span><span id="wmqeeuq" class=tag-name>script</span><span id="wmqeeuq" class=tag>></span><span>    </span> <li id="wmqeeuq" class=""><span>  </span><span id="wmqeeuq" class=tag></</span><span id="wmqeeuq" class=tag-name>head</span><span id="wmqeeuq" class=tag>></span><span>    </span> <li id="wmqeeuq" class=alt><span>  </span><span id="wmqeeuq" class=tag><</span><span id="wmqeeuq" class=tag-name>body</span><span id="wmqeeuq" class=tag>></span><span>    </span> <li id="wmqeeuq" class=""><span>   </span><span id="wmqeeuq" class=tag><</span><span id="wmqeeuq" class=tag-name>form</span><span> </span><span id="wmqeeuq" class=attribute>onSubmit</span><span>=</span><span id="wmqeeuq" class=attribute-value>"return verifyAddress(this);"</span><span id="wmqeeuq" class=tag>></span><span>    </span> <li id="wmqeeuq" class=alt><span>    </span><span id="wmqeeuq" class=tag><</span><span id="wmqeeuq" class=tag-name>input</span><span> </span><span id="wmqeeuq" class=attribute>name</span><span>=</span><span id="wmqeeuq" class=attribute-value>"email"</span><span> </span><span id="wmqeeuq" class=attribute>type</span><span>=</span><span id="wmqeeuq" class=attribute-value>"text"</span><span id="wmqeeuq" class=tag>></span><span>    </span> <li id="wmqeeuq" class=""><span>    </span><span id="wmqeeuq" class=tag><</span><span id="wmqeeuq" class=tag-name>input</span><span> </span><span id="wmqeeuq" class=attribute>type</span><span>=</span><span id="wmqeeuq" class=attribute-value>"submit"</span><span id="wmqeeuq" class=tag>></span><span>    </span> <li id="wmqeeuq" class=alt><span>    </span><span id="wmqeeuq" class=tag></</span><span id="wmqeeuq" class=tag-name>form</span><span id="wmqeeuq" class=tag>></span><span>    </span> <li id="wmqeeuq" class=""><span>  </span><span id="wmqeeuq" class=tag></</span><span id="wmqeeuq" class=tag-name>body</span><span id="wmqeeuq" class=tag>></span><span>    </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=tag></</span><span id="wmqeeuq" class=tag-name>html</span><span id="wmqeeuq" class=tag>></span><span>   </span></li> </ol> </div> </div> <script type=text/javascript>render_code();</script> <br><strong>正则表达式对?/strong> <br>本对象包含正则表辑ּ模式以及表明如何应用模式的标志?<br>语法 1 re = /pattern/[flags] <br>语法 2 re = new RegExp("pattern",["flags"]) <br>参数 re 必选项。将要赋gؓ正则表达式模式的变量名?<br>Pattern 必选项。要使用的正则表辑ּ模式。如果用语?1Q用 "/" 字符分隔模式。如果用语法 2Q用引号模式引h?<br>Flags 可选项。如果用语?2 要用引号?flag 引v来。标志可以组合用,可用的有Q?<br>g Q全文查扑և现的所?patternQ?<br>i Q忽略大写Q?<br>m Q多行查找) <br>CZ <br>下面的示例创Z个包含正则表辑ּ模式及相x志的对象(re)Q向您演C正则表辑ּ对象的用法。在本例中,作ؓl果的正则表辑ּ对象又用?match Ҏ中: <br> <div id="wmqeeuq" class=code_title>代码</div> <div id="wmqeeuq" class=code_div> <div id="wmqeeuq" class=dp-highlighter> <div id="wmqeeuq" class=bar></div> <ol class=dp-j> <li id="wmqeeuq" class=alt><span><span>function MatchDemo()   </span></span> <li id="wmqeeuq" class=""><span>{   </span> <li id="wmqeeuq" class=alt><span>var r, re; </span><span id="wmqeeuq" class=comment>// 声明变量?</span><span>  </span> <li id="wmqeeuq" class=""><span>var s = </span><span id="wmqeeuq" class=string>"The rain in Spain falls mainly in the plain"</span><span>;   </span> <li id="wmqeeuq" class=alt><span>re = </span><span id="wmqeeuq" class=keyword>new</span><span> RegExp(</span><span id="wmqeeuq" class=string>"ain"</span><span>,</span><span id="wmqeeuq" class=string>"g"</span><span>); </span><span id="wmqeeuq" class=comment>// 创徏正则表达式对象?</span><span>  </span> <li id="wmqeeuq" class=""><span>r = s.match(re); </span><span id="wmqeeuq" class=comment>// 在字W串 s 中查扑֌配?</span><span>  </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=keyword>return</span><span>(r);    </span> <li id="wmqeeuq" class=""><span>}  </span></li> </ol> </div> </div> <script type=text/javascript>render_code();</script> <br>q回| ain,ain,ain,ain <br>属?lastIndex 属?| source 属?<br>Ҏ compile Ҏ | exec Ҏ | test Ҏ <br>要求 版本 3 <br>请参?RegExp 对象 | 正则表达式语?| String 对象 <br>exec Ҏ <br>用正则表辑ּ模式在字W串中运行查找,q返回包含该查找l果的一个数l?rgExp.exec(str) <br>参数 <br>rgExp 必选项。包含正则表辑ּ模式和可用标志的正则表达式对象?<br>str 必选项。要在其中执行查扄 String 对象或字W串文字?<br>说明 <br>如果 exec Ҏ没有扑ֈ匚wQ则它返?null。如果它扑ֈ匚wQ则 exec Ҏq回一个数l,q且更新全局 RegExp 对象的属性,以反映匹配结果。数l的0元素包含了完整的匚wQ而第1到n元素中包含的是匹配中出现的Q意一个子匚w。这相当于没有设|全局标志 (g) ?match Ҏ。如果ؓ正则表达式设|了全局标志Qexec 从以 lastIndex 的值指C的位置开始查找。如果没有设|全局标志Qexec 忽略 lastIndex 的|从字W串的v始位|开始搜索?<br>exec Ҏq回的数l有三个属性,分别?input、index ?lastIndex。Input 属性包含了整个被查扄字符丌ӀIndex 属性中包含了整个被查找字符串中被匹配的子字W串的位|。LastIndex 属性中包含了匹配中最后一个字W的下一个位|?<br>CZ <br>下面的例子D例说明了 exec Ҏ的用法: <br> <div id="wmqeeuq" class=code_title>代码</div> <div id="wmqeeuq" class=code_div> <div id="wmqeeuq" class=dp-highlighter> <div id="wmqeeuq" class=bar></div> <ol class=dp-j> <li id="wmqeeuq" class=alt><span><span>function RegExpTest()   </span></span> <li id="wmqeeuq" class=""><span>{   </span> <li id="wmqeeuq" class=alt><span>var ver = Number(ScriptEngineMajorVersion() + </span><span id="wmqeeuq" class=string>"."</span><span> + ScriptEngineMinorVersion())   </span> <li id="wmqeeuq" class=""><span></span><span id="wmqeeuq" class=keyword>if</span><span> (ver >= </span><span id="wmqeeuq" class=number>5.5</span><span>){ </span><span id="wmqeeuq" class=comment>// 试 JScript 的版本?</span><span>  </span> <li id="wmqeeuq" class=alt><span>var src = </span><span id="wmqeeuq" class=string>"The rain in Spain falls mainly in the plain."</span><span>;   </span> <li id="wmqeeuq" class=""><span>var re = /\w+/g; </span><span id="wmqeeuq" class=comment>// 创徏正则表达式模式?</span><span>  </span> <li id="wmqeeuq" class=alt><span>var arr;   </span> <li id="wmqeeuq" class=""><span></span><span id="wmqeeuq" class=keyword>while</span><span> ((arr = re.exec(src)) != </span><span id="wmqeeuq" class=keyword>null</span><span>)   </span> <li id="wmqeeuq" class=alt><span>document.write(arr.index + </span><span id="wmqeeuq" class=string>"-"</span><span> + arr.lastIndex + arr + </span><span id="wmqeeuq" class=string>"\t"</span><span>);   </span> <li id="wmqeeuq" class=""><span>}   </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=keyword>else</span><span>{   </span> <li id="wmqeeuq" class=""><span>alert(</span><span id="wmqeeuq" class=string>"请?nbsp;JScript 的更新版?</span><span>);   </span> <li id="wmqeeuq" class=alt><span>}   </span> <li id="wmqeeuq" class=""><span>}  </span></li> </ol> </div> </div> <script type=text/javascript>render_code();</script> <br>q回|0-3The 4-8rain 9-11in 12-17Spain 18-23falls 24-30mainly 31-33in 34-37the 38-43plain <br>test Ҏ <br>q回一?Boolean |它指出在被查扄字符串中是否存在模式?rgexp.test(str) <br>参数 <br>rgexp 必选项。包含正则表辑ּ模式或可用标志的正则表达式对象?<br>str 必选项。要在其上测试查扄字符丌Ӏ?<br>说明 test Ҏ查在字符串中是否存在一个模式,如果存在则返?trueQ否则就q回 false。全局 RegExp 对象的属性不?test Ҏ来修攏V?<br>CZ下面的例子D例说明了 test Ҏ的用法: <br> <div id="wmqeeuq" class=code_title>代码</div> <div id="wmqeeuq" class=code_div> <div id="wmqeeuq" class=dp-highlighter> <div id="wmqeeuq" class=bar></div> <ol class=dp-j> <li id="wmqeeuq" class=alt><span><span>function TestDemo(re, s)   </span></span> <li id="wmqeeuq" class=""><span>{   </span> <li id="wmqeeuq" class=alt><span>var s1; </span><span id="wmqeeuq" class=comment>// 声明变量?</span><span>  </span> <li id="wmqeeuq" class=""><span></span><span id="wmqeeuq" class=comment>// 查字W串是否存在正则表达式?</span><span>  </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=keyword>if</span><span> (re.test(s)) </span><span id="wmqeeuq" class=comment>// 试是否存在?</span><span>  </span> <li id="wmqeeuq" class=""><span>s1 = </span><span id="wmqeeuq" class=string>" contains "</span><span>; </span><span id="wmqeeuq" class=comment>// s 包含模式?</span><span>  </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=keyword>else</span><span>  </span> <li id="wmqeeuq" class=""><span>s1 = </span><span id="wmqeeuq" class=string>" does not contain "</span><span>; </span><span id="wmqeeuq" class=comment>// s 不包含模式?</span><span>  </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=keyword>return</span><span>(</span><span id="wmqeeuq" class=string>"'"</span><span> + s + </span><span id="wmqeeuq" class=string>"'"</span><span> + s1 + </span><span id="wmqeeuq" class=string>"'"</span><span>+ re.source + </span><span id="wmqeeuq" class=string>"'"</span><span>); </span><span id="wmqeeuq" class=comment>// q回字符丌Ӏ?</span><span>  </span> <li id="wmqeeuq" class=""><span>}  </span></li> </ol> </div> </div> <script type=text/javascript>render_code();</script> <br>函数调用Qdocument.write (TestDemo(/ain+/ ,"The rain in Spain falls mainly in the plain.")); <br>q回|'The rain in Spain falls mainly in the plain.' contains 'ain+' <br>match Ҏ <br>使用正则表达式模式对字符串执行查找,q将包含查找的结果作为数l返回?<br>stringObj.match(rgExp) <br>参数 <br>stringObj 必选项。对其进行查扄 String 对象或字W串文字?<br>rgExp 必选项。ؓ包含正则表达式模式和可用标志的正则表辑ּ对象。也可以是包含正则表辑ּ模式和可用标志的变量名或字符串文字?<br>说明 <br>如果 match Ҏ没有扑ֈ匚wQ返?null。如果找到匹配返回一个数lƈ且更新全局 RegExp 对象的属性以反映匚wl果?match Ҏq回的数l有三个属性:input、index ?lastIndex。Input 属性包含整个的被查扑֭W串。Index 属性包含了在整个被查找字符串中匚w的子字符串的位置。LastIndex 属性包含了最后一ơ匹配中最后一个字W的下一个位|。如果没有设|全局标志 (g)Q数l的 0 元素包含整个匚wQ而第 1 ?n 元素包含了匹配中曑և现过的Q一个子匚w。这相当于没有设|全局标志?exec Ҏ。如果设|了全局标志Q元?0 ?n 中包含所有匹配?<br>CZ <br>下面的示例演CZmatch Ҏ的用法: <br> <div id="wmqeeuq" class=code_title>代码</div> <div id="wmqeeuq" class=code_div> <div id="wmqeeuq" class=dp-highlighter> <div id="wmqeeuq" class=bar></div> <ol class=dp-j> <li id="wmqeeuq" class=alt><span><span>function MatchDemo()   </span></span> <li id="wmqeeuq" class=""><span>{   </span> <li id="wmqeeuq" class=alt><span>var r, re; </span><span id="wmqeeuq" class=comment>// 声明变量?</span><span>  </span> <li id="wmqeeuq" class=""><span>var s = </span><span id="wmqeeuq" class=string>"The rain in Spain falls mainly in the plain"</span><span>;   </span> <li id="wmqeeuq" class=alt><span>re = /ain/i; </span><span id="wmqeeuq" class=comment>// 创徏正则表达式模式?</span><span>  </span> <li id="wmqeeuq" class=""><span>r = s.match(re); </span><span id="wmqeeuq" class=comment>// 试匚w搜烦字符丌Ӏ?</span><span>  </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=keyword>return</span><span>(r); </span><span id="wmqeeuq" class=comment>// q回W一ơ出?nbsp;"ain" 的地斏V?</span><span>  </span> <li id="wmqeeuq" class=""><span>}   </span> <li id="wmqeeuq" class=alt><span>q回|ain    </span> <li id="wmqeeuq" class=""><span>本示例说明带 g 标志讄?nbsp;match Ҏ的用法?nbsp;   </span> <li id="wmqeeuq" class=alt><span>function MatchDemo()   </span> <li id="wmqeeuq" class=""><span>{   </span> <li id="wmqeeuq" class=alt><span>var r, re; </span><span id="wmqeeuq" class=comment>// 声明变量?</span><span>  </span> <li id="wmqeeuq" class=""><span>var s = </span><span id="wmqeeuq" class=string>"The rain in Spain falls mainly in the plain"</span><span>;   </span> <li id="wmqeeuq" class=alt><span>re = /ain/ig; </span><span id="wmqeeuq" class=comment>// 创徏正则表达式模式?</span><span>  </span> <li id="wmqeeuq" class=""><span>r = s.match(re); </span><span id="wmqeeuq" class=comment>// 试d配搜索字W串?</span><span>  </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=keyword>return</span><span>(r); </span><span id="wmqeeuq" class=comment>// q回的数l包含了所?nbsp;"ain"  </span><span>  </span> <li id="wmqeeuq" class=""><span></span><span id="wmqeeuq" class=comment>// 出现的四个匹配?</span><span>  </span> <li id="wmqeeuq" class=alt><span>}  </span></li> </ol> </div> </div> <script type=text/javascript>render_code();</script> <br>q回|ain,ain,ain,ain <br>上面几行代码演示了字W串文字?match Ҏ的用法?<br>var r, re = "Spain"; <br>r = "The rain in Spain".replace(re, "Canada"); <br>return r; <br>q回|The rain in Canada <br>search Ҏ <br>q回与正则表辑ּ查找内容匚w的第一个子字符串的位置?<br>stringObj.search(rgExp) <br>参数 <br>stringObj 必选项。要在其上进行查扄 String 对象或字W串文字?<br>rgExp 必选项。包含正则表辑ּ模式和可用标志的正则表达式对象?<br>说明 <br>search Ҏ指明是否存在相应的匹配。如果找C个匹配,search Ҏ返回一个整数|指明q个匚w距离字符串开始的偏移位置。如果没有找到匹配,则返?-1?<br>CZ <br>下面的示例演CZ search Ҏ的用法?<br> <div id="wmqeeuq" class=code_title>代码</div> <div id="wmqeeuq" class=code_div> <div id="wmqeeuq" class=dp-highlighter> <div id="wmqeeuq" class=bar></div> <ol class=dp-j> <li id="wmqeeuq" class=alt><span><span>function SearchDemo()   </span></span> <li id="wmqeeuq" class=""><span>{   </span> <li id="wmqeeuq" class=alt><span>var r, re; </span><span id="wmqeeuq" class=comment>// 声明变量?</span><span>  </span> <li id="wmqeeuq" class=""><span>var s = </span><span id="wmqeeuq" class=string>"The rain in Spain falls mainly in the plain."</span><span>;   </span> <li id="wmqeeuq" class=alt><span>re = /falls/i; </span><span id="wmqeeuq" class=comment>// 创徏正则表达式模式?</span><span>  </span> <li id="wmqeeuq" class=""><span>r = s.search(re); </span><span id="wmqeeuq" class=comment>// 查找字符丌Ӏ?</span><span>  </span> <li id="wmqeeuq" class=alt><span></span><span id="wmqeeuq" class=keyword>return</span><span>(r); </span><span id="wmqeeuq" class=comment>// q回 Boolean l果?</span><span>  </span> <li id="wmqeeuq" class=""><span>}  </span></li> </ol> </div> </div> <script type=text/javascript>render_code();</script> <br>q回|18 <br>正则表达式语?<br>一个正则表辑ּ是由普通字W(例如字符 a ?zQ以及特D字W(UCؓ元字W)l成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符丌Ӏ正则表辑ּ作ؓ一个模板,某个字W模式与所搜烦的字W串q行匚w?<br>q里有一些可能会遇到的正则表辑ּCZQ?<br>JScript VBScript 匚w <br>/^\[ \t]*$/ "^\[ \t]*$" 匚w一个空白行?<br>/\d{2}-\d{5}/ "\d{2}-\d{5}" 验证一个ID L是否׃?位数字,一个连字符以及一?位数字组成?<br>/<(.*)>.*<\/\1>/ "<(.*)>.*<\/\1>" 匚w一?HTML 标记?<br>下表是元字符及其在正则表辑ּ上下文中的行为的一个完整列表: <br>字符 描述 \ 下一个字W标Cؓ一个特D字W、或一个原义字W、或一?后向引用、或一个八q制转义W。例如,'n' 匚w字符 "n"?\n' 匚w一个换行符。序?' <br>' 匚w "\" ?"\(" 则匹?"("?<br>^ 匚w输入字符串的开始位|。如果设|了 RegExp 对象?Multiline 属性,^ 也匹?'\n' ?'\r' 之后的位|?<br>$ 匚w输入字符串的l束位置。如果设|了RegExp 对象?Multiline 属性,$ 也匹?'\n' ?'\r' 之前的位|?<br>• 匚w前面的子表达式零ơ或多次。例如,zo* 能匹?"z" 以及 "zoo"?* {h于{0,}?<br>+ 匚w前面的子表达式一ơ或多次。例如,'zo+' 能匹?"zo" 以及 "zoo"Q但不能匚w "z"? {h?{1,}?<br>? 匚w前面的子表达式零ơ或一ơ。例如,"do(es)?" 可以匚w "do" ?"does" 中的"do" ? {h?{0,1}?<br>{n} n 是一个非负整数。匹配确定的 n ơ。例如,'o{2}' 不能匚w "Bob" 中的 'o'Q但是能匚w "food" 中的两个 o?<br>{n,} n 是一个非负整数。至匹配n ơ。例如,'o{2,}' 不能匚w "Bob" 中的 'o'Q但能匹?"foooood" 中的所?o?o{1,}' {h?'o+'?o{0,}' 则等价于 'o*'?<br>{n,m} m ?n 均ؓ非负整数Q其中n <= m。最匹?n ơ且最多匹?m ơ。刘Q?"o{1,3}" 匹?"fooooood" 中的前三?o?o{0,1}' {h?'o?'。请注意在逗号和两个数之间不能有空根{?<br>? 当该字符紧跟在Q何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面Ӟ匚w模式是非贪婪的。非贪婪模式可能少的匹配所搜烦的字W串Q而默认的贪婪模式则尽可能多的匚w所搜烦的字W串。例如,对于字符?"oooo"Q?o+?' 匹配单?"o"Q?'o+' 匹配所?'o'?<br>. 匚w?"\n" 之外的Q何单个字W。要匚w包括 '\n' 在内的Q何字W,请用象 '[.\n]' 的模式?(pattern) 匚wpattern q获取这一匚w。所获取的匹配可以从产生?Matches 集合得到Q在VBScript 中?SubMatches 集合Q在JScript 中则使用 $0…$9 属性。要匚w圆括号字W,请?'\(' ?'\)'?<br>(?:pattern) 匚w pattern 但不获取匚wl果Q也是说这是一个非获取匚wQ不q行存储供以后用。这在?"? 字符 (|) 来组合一个模式的各个部分是很有用。例如, 'industr(?:y|ies) 是一个比 'industry|industries' 更简略的表达式?<br>(?=pattern) 正向预查Q在M匚w pattern 的字W串开始处匚w查找字符丌Ӏ这是一个非获取匚wQ也是_该匹配不需要获取供以后使用。例如, 'Windows (?=95|98|NT|2000)' 能匹?"Windows 2000" 中的 "Windows" Q但不能匚w "Windows 3.1" 中的 "Windows"。预查不消耗字W,也就是说Q在一个匹配发生后Q在最后一ơ匹配之后立卛_始下一ơ匹配的搜烦Q而不是从包含预查的字W之后开始?<br>(?!pattern) 负向预查Q在M不匹配Negative lookahead matches the search string at any point where a string not matching pattern 的字W串开始处匚w查找字符丌Ӏ这是一个非获取匚wQ也是_该匹配不需要获取供以后使用。例?Windows (?!95|98|NT|2000)' 能匹?"Windows 3.1" 中的 "Windows"Q但不能匚w "Windows 2000" 中的 "Windows"。预查不消耗字W,也就是说Q在一个匹配发生后Q在最后一ơ匹配之后立卛_始下一ơ匹配的搜烦Q而不是从包含预查的字W之后开?<br>x|y 匚w x ?y。例如,'z|food' 能匹?"z" ?"food"?(z|f)ood' 则匹?"zood" ?"food"?<br>[xyz] 字符集合。匹配所包含的Q意一个字W。例如, '[abc]' 可以匚w "plain" 中的 'a'?<br>[^xyz] 负值字W集合。匹配未包含的Q意字W。例如, '[^abc]' 可以匚w "plain" 中的'p'?<br>[a-z] 字符范围。匹配指定范围内的Q意字W。例如,'[a-z]' 可以匚w 'a' ?'z' 范围内的L写字母字符?<br>[^a-z] 负值字W范围。匹配Q何不在指定范围内的Q意字W。例如,'[^a-z]' 可以匚wM不在 'a' ?'z' 范围内的L字符?<br>\b 匚w一个单词边界,也就是指单词和空格间的位|。例如, 'er\b' 可以匚w"never" 中的 'er'Q但不能匚w "verb" 中的 'er'?<br>\B 匚w非单词边界?er\B' 能匹?"verb" 中的 'er'Q但不能匚w "never" 中的 'er'?<br>\cx 匚w由x指明的控制字W。例如, \cM 匚w一?Control-M 或回车符?x 的值必Mؓ A-Z ?a-z 之一。否则,?c 视ؓ一个原义的 'c' 字符?<br>\d 匚w一个数字字W。等价于 [0-9]?<br>\D 匚w一个非数字字符。等价于 [^0-9]?<br>\f 匚w一个换늬。等价于 \x0c ?\cL?<br>\n 匚w一个换行符。等价于 \x0a ?\cJ?<br>\r 匚w一个回车符。等价于 \x0d ?\cM?<br>\s 匚wMI白字符Q包括空根{制表符、换늬{等。等价于 [ \f\n\r\t\v]?<br>\S 匚wM非空白字W。等价于 [^ \f\n\r\t\v]?<br>\t 匚w一个制表符。等价于 \x09 ?\cI?<br>\v 匚w一个垂直制表符。等价于 \x0b ?\cK?<br>\w 匚w包括下划U的M单词字符。等价于'[A-Za-z0-9_]'?<br>\W 匚wM非单词字W。等价于 '[^A-Za-z0-9_]'?<br>\xn 匚w nQ其?n 为十六进制{义倹{十六进制{义值必Mؓ定的两个数字长。例如, '\x41' 匚w "A"?\x041' 则等价于 '\x04' & "1"。正则表辑ּ中可以?ASCII ~码? <br>\num 匚w numQ其?num 是一个正整数。对所获取的匹配的引用。例如,'(.)\1' 匚w两个q箋的相同字W?<br>\n 标识一个八q制转义值或一个后向引用。如?\n 之前臛_ n 个获取的子表辑ּQ则 n 为后向引用。否则,如果 n 为八q制数字 (0-7)Q则 n Z个八q制转义倹{?<br>\nm 标识一个八q制转义值或一个后向引用。如?\nm 之前臛_有is preceded by at least nm 个获取得子表辑ּQ则 nm 为后向引用。如?\nm 之前臛_?n 个获取,?n Z个后跟文?m 的后向引用。如果前面的条g都不满Q若 n ?m 均ؓ八进制数?(0-7)Q则 \nm 匹配八q制转义?nm?<br>\nml 如果 n 为八q制数字 (0-3)Q且 m ?l 均ؓ八进制数?(0-7)Q则匚w八进制{义?nml?<br>\un 匚w nQ其?n 是一个用四个十六q制数字表示?Unicode 字符。例如, \u00A9 匚w版权W号 (?)?<br>优先权顺?<br>在构造正则表辑ּ之后Q就可以象数学表辑ּ一h求|也就是说Q可以从左至叛_ƈ按照一个优先权序来求倹{?<br>下表从最高优先到最低优先列出各种正则表达式操作符的优先权序Q?<br>操作W?描述 <br>\ 转义W?<br>(), (?:), (?=), [] 圆括号和Ҏ?<br>*, +, ?, {n}, {n,}, {n,m} 限定W?<br>^, $, \anymetacharacter 位置和顺?<br>| “?#8221;操作 <br>普通字W?<br>普通字W由所有那些未昑ּ指定为元字符的打印和非打印字W组成。这包括所有的大写和小写字母字W,所有数字,所有标点符号以及一些符受?<br>最单的正则表达式是一个单独的普通字W,可以匚w所搜烦字符串中的该字符本n。例如,单字W模?'A' 可以匚w所搜烦字符串中M位置出现的字?'A'。这里有一些单字符正则表达式模式的CZQ?<br>/a/ <br>/7/ <br>/M/ <br>{h?VBScript 单字W正则表辑ּ为: <br>"a" <br>"7" <br>"M" <br>可以多个单字符l合在一起得C个较大的表达式。例如,下面?JScript 正则表达式不是别的,是通过l合单字W表辑ּ 'a'?7'以及 'M' 所创徏出来的一个表辑ּ?<br>/a7M/ {h?VBScript 表达式ؓQ?<br>"a7M" h意这里没有连接操作符。所需要做的就是将一个字W放在了另一个字W后面?<br><br><br> <p id=TBPingURL>Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1401201</p> <img src ="http://www.aygfsteel.com/xuleinew/aggbug/127523.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/xuleinew/" target="_blank">Alex.xulei</a> 2007-07-02 13:06 <a href="http://www.aygfsteel.com/xuleinew/archive/2007/07/02/127523.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ThreadLocal的有关理?/title><link>http://www.aygfsteel.com/xuleinew/archive/2006/09/19/70513.html</link><dc:creator>Alex.xulei</dc:creator><author>Alex.xulei</author><pubDate>Tue, 19 Sep 2006 05:50:00 GMT</pubDate><guid>http://www.aygfsteel.com/xuleinew/archive/2006/09/19/70513.html</guid><wfw:comment>http://www.aygfsteel.com/xuleinew/comments/70513.html</wfw:comment><comments>http://www.aygfsteel.com/xuleinew/archive/2006/09/19/70513.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.aygfsteel.com/xuleinew/comments/commentRss/70513.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/xuleinew/services/trackbacks/70513.html</trackback:ping><description><![CDATA[ <p> <font color="#000000"> <font size="4"> <font size="2">我们开发webpȝ的时候,l常会用到ThreadLocalq行session的管理,对于 ThreadLocal的有关理解我是这LQ?br />我们用ThreadLocal是ؓ了实现线E缓冲池的作用,p数据库连接池一P能够l本地用h供现有的session对象。它q不是线E的一U实玎ͼ而是在维护本地变量,为各自的本地提供l护的渠道,避免U程的冲H?br />但是QThreadLocal的确是相对线E的Q每个线E都会有自己的ThreadLocalQ在一个系l的U程池里面,不同用户讉K时候,可能会接受到同样的线E,q个时候要注意了,如果你这个时候用CThreadLocal变量Q要注意避免ThreadLocal~存Q即Q其他的U程讉K到本U程ThreadLocal变量Q;</font> <br /> </font> </font> </p> <p style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; LINE-HEIGHT: 150%; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; mso-border-alt: dotted #8B8D72 .75pt; mso-padding-alt: 15.0pt 15.0pt 15.0pt 15.0pt"> <font face="Times New Roman"> <font size="4"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #4b4b4b; FONT-FAMILY: Verdana"> <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?> <o:p> </o:p> </span> </font> </font> </p> <img src ="http://www.aygfsteel.com/xuleinew/aggbug/70513.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/xuleinew/" target="_blank">Alex.xulei</a> 2006-09-19 13:50 <a href="http://www.aygfsteel.com/xuleinew/archive/2006/09/19/70513.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ӳ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">̩˳</a>| <a href="http://" target="_blank">Ѯ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ֶ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ȫ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">IJ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˹</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank">ѭ</a>| <a href="http://" target="_blank">ٳ</a>| <a href="http://" target="_blank">ϰˮ</a>| <a href="http://" target="_blank">̫</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɿ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ʯɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>