[ASP.NET][JavaScript]JavaScript取得radiobuttenlist 值傳給控制項

function displayrbl()
        {
            var selValue;
            var rbl = document.getElementById("ctl00_ContentPlaceHolder1_rblPORTCODE");
            var rbllist = rbl.getElementsByTagName("INPUT");

            for (var i = 0; i < rbllist.length; i++) {
                if (rbllist[i].checked) {
                    selValue = rbl.childNodes[(i*2)+1].innerText;
                }
            }

            document.getElementById('ctl00_ContentPlaceHolder1_ftbPORTNM').value = selValue;
        }
--------------------------------------------------------------------------------------------------------------------

<asp:RadioButtonList ID="rblPORTCODE" runat="server" RepeatDirection="Horizontal" RepeatLayout="Flow"  ColumnName="PORTCODE" onchange="displayrbl();">
                            </asp:RadioButtonList>

[ASP.NET]使用javascript,Textbox各種字串檢查

此寫法為輸入後驗證,不驗個每一個字

好處:驗證可以使用在gridview的textbox中,錯誤可以直接刪除該字串,不用判斷幾行幾列

壞處:使用者會輸入後才發現錯誤,有些不便

JS部分

//單純檢查數字0-9
        function IsIntText(textControl) {
            var str = textControl.value;
            var regexp = /^([1-9][0-9]*)$/; //正整數
            var msg = '';
            if (!regexp.test(textControl.value)) {
                msg = '數字格式不正確!';
            }
            if (parseInt(str, 10).toString() == '0') {     //表示輸入的是0或0.00啦
                msg = '數字格式不可為0!';
            }
            if( msg != ''){
                alert(msg);
                textControl.value = "";
            }

 function IsfloatText(textControl) {
            var str = textControl.value;
            var str = textControl.value;
            var regexp = /^[0-9]+.[0-9]{1,2}?$/; //帶2位小數正實數  發現10A1這種無法找出 下方修補邏輯
            var msg = '';
            if (!regexp.test(textControl.value)) {
                msg = '數字格式不正確!';
            }
            var regexp2 = /[A-Za-z]/
            if (regexp2.test(textControl.value)) { //若包含字母
                msg = '數字格式不正確!';
            }
            if (parseFloat(str, 10).toString() == '0') {     //表示輸入的是0或0.00啦
                msg = '數字格式不可為0!';
            }
            if (msg != '') {
                alert(msg);
                textControl.value = "";

            }

//發票驗證
function isINVNO(textControl) {
            var str = textControl.value;
            if (str.length = 10) {
                var regexp = /^[A-Z]{2}[0-9]{8}$/;
                if (!regexp.test(textControl.value)) {
                    alert("發票格式不正確!");
                    textControl.value = "";
                }
            }
            else {
                alert("發票格式不正確!");
                textControl.value = "";
            }

        }
 =================================================

ASP.NET
搭配JS  加入onchange="IsIntText(this)" 即可

範例
   <iFlow:FDataTextBox ID="tbORDERNUM" runat="server" Width="100px" Text='<%# Eval("ORDERNUM") %>' onchange="IsIntText(this);"
                            MaxLength="10"></iFlow:FDataTextBox>

[C#]用 Regex 做字串比對

用法如下

using System.Text.RegularExpressions;


    public bool IsNumeric(String strNumber)
    {
        Regex NumberPattern = new Regex("[0-9]");
        return NumberPattern.IsMatch(strNumber);

    }

RegExp說明範例
/a/含有字母 a 的字串"a","apple"
/./含有任意字元的字串"aaa","a","嗨"
/a./含有字母 a 後面接一個任意字元的字串"aaa","apple"

*: 出現 0 次以上
?: 出現 0 次或 1 次
+: 出現一次以上
{2}: 出現兩次
{2,}: 出現兩次以上
{,10}: 出現十次以下
{2,5}: 出現兩次到五次
RegExp說明範例
/a*/包含 0 次以上的 a"apple","hello"
/ab*/包含一個 a,後面至少 0 個 b"a","ab"
/a?/包含空字串或一個 a"c","","app"
/123a+/包含 123 後面有一個以上的 a"123a","123app"
/123a{1,2}/包含 123 後面出現一個或兩個 a"1123a","123aaa"

^: 開頭
$: 結尾
RegExp說明範例
/^app/開頭是 app 的字串"app","apple"
/ry$/結尾是 ry 的字串"Larry"
/^abcd$/開頭結尾中間只有 abcd 的字串"abcd"
/^La.*le$/開頭是 La 尾巴是 le 的字串"Larry loves apple"

[]: 括號內的任何字元
[^]: 不在括號內的任何字元
RegExp說明範例
/^[aeiou]/開頭是小寫母音的字串"apple","oh"
/[^aeiouAEIOU]$/結尾不是母音的字串"Larry","ok"
/^[aeiou]{3}$/三個小寫母音組成的字串"aaa","aeu"
/^[^aeiou]*$/不包含小寫母音的字串"hEllO","ApplE"
/[0-9]/含數字的字串"app1e","123"
/[a-z]/含小寫字母的字串"12a45","aaa"
/^[^a-zA-Z]$/不含英文字母的字串"123","345"

\.: "." 這個字元,直接寫 /./ 會被判斷成任意字元
\+: "+" 這個字元,類似的還有 \?, \*
\(: "(" 這個字元,類似的還有 \), \[, \]
\\: "\" 這個字元
\d: 任何數字字元,等同 [0-9]
\D: 任何非數字字元,等同 [^0-9]
\w: 任何數字字母底線,等同 [A-Za-z0-9_]
\W: 任何非數字字母底線,等同 [^A-Za-z0-9_]
\s: 任何空白字元(空白,換行,tab),等同 [ \f\n\r\t\v]
\S: 任何非空白字元(空白,換行,tab),等同 [^ \f\n\r\t\v]

實例

RegExp說明範例
/^\d{4}-\d{2}-\d{2}$/西元生日格式"1996-08-06"
/^[A-Z]\d{9}$/身分證字號"A123456789"
/^09\d{8}$/手機號碼"0912345678"
/^[^aeiou]*$/不包含小寫母音的字串"hEllO","ApplE"
/^.*@gmail\.com$/gmail 信箱"test@gmail.com"
/^[0-9\+\-\*\/]*$/四則運算算式"1+2*3"

[DataSet Bug]無法啟用條件約束。一或多個資料列的值違反非 Null、唯一或外部索引鍵條件約束

在使用TableAdapter作Query時發生 1. 原因為有些資料欄位Query出來後為null值 但是該欄位在dbDataSet的屬性AllowDBNull為False 因此把該欄位(或乾脆把全部欄位屬性AllowDBNull改為True 2. maxLength 檢...