日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

XML中配置正則表達式的寫法

 univasity 2019-06-23

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

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

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

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

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

   

     XML CDATA是什么?

     CDATA部件

     在CDATA內部的所有內容都會被解析器忽略。

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

一個CDATA部件以"<![CDATA["標記開始,以"]]>"標記結束。
CDATA是通過解析器進行的文本,文本中的標簽不被看作標記。

     于是,正確的寫法

    筆者自己也寫了一個簡單的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>后臺獲取配置文件正則表達式</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>
        /// 獲取配置文件中的正則表達式
        /// </summary>
        /// <returns>正則表達式</returns>
        public JsonResult GetoRegular()
        {
            var strRegular = string.Empty;

            //1.獲取用例字段的XML
            var oFormFields = XElement.Load(@"E:\201206112300ExMVC項目\Lucky\Lucky\Content\Regular.xml");

            //從配置文件獲取正則表達式
            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配置文件中配置正則表達式的最優(yōu)方案
如果文本內容包含了很多的"<"字符和"&"字符——就像程序
代碼一樣,那么最好把他們都放到CDATA部件中.
一個CDATA部件以"<![CDATA["標記開始,以"]]>"標記結束。
CDATA是通過解析器進行的文本,文本中的標簽不被看作標記。
-->
<Regulars>
  <Regular name="NameValidation"><![CDATA[^[\u4E00-\u9FA5]+$]]></Regular>
</Regulars>

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多