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>
好處:驗證可以使用在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);
}
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" |
訂閱:
文章 (Atom)
[DataSet Bug]無法啟用條件約束。一或多個資料列的值違反非 Null、唯一或外部索引鍵條件約束
在使用TableAdapter作Query時發生 1. 原因為有些資料欄位Query出來後為null值 但是該欄位在dbDataSet的屬性AllowDBNull為False 因此把該欄位(或乾脆把全部欄位屬性AllowDBNull改為True 2. maxLength 檢...
-
當出現此訊息,標準說明網路很多" 物件尚未實體化就呼叫它的屬性或方法 " , 以下為自己遇到的以及處理方式,作為紀錄 表示有設定的物件,可能是DataTable、Int、String、陣列、object等等,未設定值(沒有值),就直接使用 1.一般的 EX ...
-
在使用TableAdapter作Query時發生 1. 原因為有些資料欄位Query出來後為null值 但是該欄位在dbDataSet的屬性AllowDBNull為False 因此把該欄位(或乾脆把全部欄位屬性AllowDBNull改為True 2. maxLength 檢...
-
色 碼 表 十六進位值排列 <font color="#RRGGBB"> #FFFFFF #DDDDDD #AAAAAA #888888 #666666 #444444 #000000 #FFB7DD #FF88C2 #FF4...