乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      XML中配置正則表達(dá)式的寫法

       univasity 2019-06-23

           在做WEB表單時,為了增加用戶體驗,表單驗證通常是必不可少的。而這樣的效果通常也是通過正則表達(dá)式實現(xiàn)。

      如果在往前考慮一步,假如用戶自己也能根據(jù)需要修改這些正則表達(dá)式,那就更加人性化了。

           在做管理系統(tǒng)時,除了數(shù)據(jù)庫,我們用的最多的恐怕就是XML文件了,由于操作簡單,我們喜歡用XML作為模版的

      配置文件。這里主要強調(diào)在XML中配置正則表達(dá)式的寫法,筆者確實走了一些彎路。

           因為XML(HTML)中,<,>,&有特殊的意義,(前兩個字符用于鏈接簽,&用于轉(zhuǎn)義)不能直接使用。

         

           XML CDATA是什么?

           CDATA部件

           在CDATA內(nèi)部的所有內(nèi)容都會被解析器忽略。

           如果文本內(nèi)容包含了很多的"<"字符和"&"字符——就像程序代碼一樣,那么最好把他們都放到CDATA部件中.

      一個CDATA部件以"<![CDATA["標(biāo)記開始,以"]]>"標(biāo)記結(jié)束。
      CDATA是通過解析器進(jìn)行的文本,文本中的標(biāo)簽不被看作標(biāo)記。

           于是,正確的寫法

          筆者自己也寫了一個簡單的Demo.

       View

       1 <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
       2 
       3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www./TR/xhtml1/DTD/xhtml1-transitional.dtd">
       4 <html xmlns="http://www./1999/xhtml">
       5 <head runat="server">
       6     <title>后臺獲取配置文件正則表達(dá)式</title>
       7     <link href="<%=Url.Content("~/Scripts/ext-3.4.0/resources/css/ext-all.css") %>" rel="stylesheet" type="text/css" />
       8     <script src="<%=Url.Content("~/Scripts/ext-3.4.0/adapter/ext/ext-base.js") %>" type="text/javascript"></script>
       9     <script src="<%=Url.Content("~/Scripts/ext-3.4.0/ext-all.js") %>" type="text/javascript"></script>
      10     <script src="<%=Url.Content("~/Scripts/Widget/CRegular.js") %>" type="text/javascript"></script>
      11 
      12     <script language="javascript" type="text/javascript">
      13 
      14         Ext.onReady(function () {
      15 
      16             Ext.QuickTips.init();
      17 
      18             Regular.GetFormPanel();
      19 
      20         });
      21 
      22     </script>
      23 </head>
      24 <body>
      25     <div id="form" style="margin: 100px;">
      26     </div>
      27 </body>
      28 </html>

      Controller

      /// <summary>
              /// 獲取配置文件中的正則表達(dá)式
              /// </summary>
              /// <returns>正則表達(dá)式</returns>
              public JsonResult GetoRegular()
              {
                  var strRegular = string.Empty;
      
                  //1.獲取用例字段的XML
                  var oFormFields = XElement.Load(@"E:\201206112300ExMVC項目\Lucky\Lucky\Content\Regular.xml");
      
                  //從配置文件獲取正則表達(dá)式
                  var oRegexQuery = from c in oFormFields.Elements("Regular")
                                    where c.Attribute("name").Value == "NameValidation"
                                    select c;
      
                  foreach (var oRegex in oRegexQuery)
                  {
                      strRegular = oRegex.Value;
                  }
      
                  return Json(strRegular, JsonRequestBehavior.AllowGet);
              }

      js

      View Code

       

      Regular.xml

      <?xml version="1.0" encoding="utf-8" ?>
      <!--1.解決XML配置文件中配置正則表達(dá)式的最優(yōu)方案
      如果文本內(nèi)容包含了很多的"<"字符和"&"字符——就像程序
      代碼一樣,那么最好把他們都放到CDATA部件中.
      一個CDATA部件以"<![CDATA["標(biāo)記開始,以"]]>"標(biāo)記結(jié)束。
      CDATA是通過解析器進(jìn)行的文本,文本中的標(biāo)簽不被看作標(biāo)記。
      -->
      <Regulars>
        <Regular name="NameValidation"><![CDATA[^[\u4E00-\u9FA5]+$]]></Regular>
      </Regulars>

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多