編集者は、以前にJavaScriptで一般的に使用されていた正規表現の多くの例をまとめており、それらはすべてそれ自体で使用されています。今、私はそれらをあなたと共有します。
コードコピーは次のとおりです。
/**
*文字列のバイト長を取得します
*/
function strlen(str)
{
var i;
var Len;
len = 0;
for(i = 0; i <str.length; i ++)
{
if(str.charcodeat(i)> 255)len+= 2; else len ++;
}
レンを返します。
}
/*
*それが数字であるかどうかを判断し、trueを返し、それ以外の場合はfalseを返します
*/
関数f_check_number(obj)
{
if(/^/d+$/.test(obj.value))
{
trueを返します。
}
それ以外
{
f_alert(obj、 "number a number");
falseを返します。
}
}
/*
*それが自然数であるかどうかを判断するには、trueを返し、それ以外の場合はfalseを返します
*/
関数f_check_naturalnumber(obj)
{
var s = obj.value;
if(/^[0-9]+$/。test(s)&&(s> 0))
{
trueを返します。
}
それ以外
{
f_alert(obj、 "自然数を入力してください");
falseを返します。
}
}
/*
*整数であるかどうかを判断するには、trueを返し、それ以外の場合はfalseを返します
*/
関数f_check_integer(obj)
{
if(/^(/+| - )?/d+$/。テスト(obj.value)))
{
trueを返します。
}
それ以外
{
f_alert(obj、 "整数を入力してください");
falseを返します。
}
}
/*
*それが実際の数であるかどうかを判断するには、真実を返し、それ以外の場合はfalseを返します
*/
関数f_check_float(obj)
{
if(/^(/+| - )?/d+($ |/./ d+$)/。テスト(obj.value)))
{
trueを返します。
}
それ以外
{
f_alert(obj、 "実在番号を入力してください");
falseを返します。
}
}
/*
*番号の長さと精度を確認します
*/
function f_check_double(obj){
var numreg;
var値= obj.value;
var strvalueTemp、strint、strdec;
var dtype = obj.eos_datatype;
var pos_dtype = dtype.substring(dtype.indexof( "(")+1、dtype.indexof( ")"))。
var len = pos_dtype [0]、prec = pos_dtype [1];
試す
{
numreg =/[/ - ]/;
strvalueetemp = value.replace(numreg、 "");
numreg =/[/+]/;
strvalueetemp = strvalueetemp.replace(numreg、 "");
//整数
if(prec == 0){
numreg =/[/。]/;
if(numreg.test(value)== true){
f_alert(obj、 "入力は整数型でなければなりません");
falseを返します。
}
}
if(strvaluetemp.indexof( "。")<0){
if(strvaluetemp.length>(len -fec)){
f_alert(obj、 "整数ビットは" +(len -prec) + "bits");
falseを返します。
}
}それ以外{
strint = strvaluetemp.substr(0、strvalueTemp.indexof( "。"));
if(strint.length>(len -prec)){
f_alert(obj、 "整数ビットは" +(len -prec) + "bits");
falseを返します。
}
strdec = strvalueetemp.substr((strvaluetemp.indexof( "。")+1)、strvalueTemp.length);
if(strdec.length> prec){
f_alert(obj、 "10進数桁は" + prec + "bits"を超えることはできません);
falseを返します。
}
}
trueを返します。
} catch(e){
alert( "in f_check_double =" + e);
falseを返します。
}
}
/*
*数の最大値を確認します
*ブールに戻ります
*/
関数f_check_interval(obj)
{
var値= parsefloat(obj.value);
var dtype = obj.eos_datatype;
var pos_dtype = dtype.substring(dtype.indexof( "(")+1、dtype.indexof( ")"))。
var minlimit = pos_dtype [0];
var maxlimit = pos_dtype [1];
var minval = parsefloat(pos_dtype [0]);
var maxval = parsefloat(pos_dtype [1]);
if(isnan(value))
{
f_alert(obj、 "値は数字でなければなりません");
falseを返します。
}
if((isnan(minval)&&(minlimit!= " - "))||(isnan(maxval)&&(maxlimit!= "+"))))))
{
f_alert(obj、 "境界値は数字または - 、 +");
falseを返します。
}
if(minlimit == " - " &&!isnan(maxval)))
{
if(value> maxval)
{
f_alert(obj、 "value cban" + maxval);
falseを返します。
}
}
if(!isnan(minval)&& maxlimit == "+")
{
if(value <minval)
{
f_Alert(obj、 "値は" + minval以下になることはできません);
falseを返します。
}
}
if(!isnan(minval)&&!isnan(maxval)))
{
if(minval> maxval)
{
f_alert(obj、 "start value" + minval + "は、値を終了するよりも大きくすることはできません" + maxval);
}それ以外
{
if(!(value <= maxval && value> = minval))
{
f_alert(obj、 "値は" + minval + "と" + maxval + ""の間にあるはずです。
falseを返します。
}
}
}
trueを返します。
}
/*
目的:入力文字列が漢字のみで構成されているかどうかを確認します
trueが検証によって返される場合、それ以外の場合はfalse
*/
関数f_check_zh(obj){
if(/^:/u4e00-/u9fa5] +$/.test(obj.value)){
trueを返します。
}
f_alert(obj、 "漢字を入力してください");
falseを返します。
}
/*
*小文字の英語の手紙かどうかを判断します。イエスの場合、それはtrueを返し、それ以外の場合はfalseを返します
*/
関数f_check_lowercase(obj)
{
if(/^[az]+$/。test(obj.value)))
{
trueを返します。
}
f_alert(obj、 "小文字の英語の文字を入力してください");
falseを返します。
}
/*
*それがキャピタル英語の手紙であるかどうかを判断し、真実を返し、それ以外の場合はfalseを返します
*/
関数f_check_uppercase(obj)
{
if(/^[az]+$/。test(obj.value)))
{
trueを返します。
}
f_alert(obj、 "capitalltersを入力してください");
falseを返します。
}
/*
*英語の手紙であるかどうかを判断するには、trueを返し、それ以外の場合はfalseを返します
*/
関数f_check_letter(obj)
{
if(/^[a-za-z]+$/。テスト(obj.value)))
{
trueを返します。
}
f_alert(obj、 "英語の手紙を入力してください");
falseを返します。
}
/*
目的:入力文字列が漢字、文字、番号のみで構成されているかどうかを確認します。
入力:
値:文字列
戻る:
trueが検証によって返される場合、それ以外の場合はfalse
*/
関数f_check_zhornumorlett(obj){//漢字、文字、数字で構成されているかどうかを判断します
var regu = "^[0-9a-za-z/u4e00-/u9fa5]+$";
var re = new regexp(regu);
if(re.test(obj.value)){
trueを返します。
}
f_alert(obj、 "漢字、文字、または番号を入力してください");
falseを返します。
}
/*
目的:IPアドレスの形式を確認します
入力:ストリップ:IPアドレス
返品:Trueが検証によって返される場合、それ以外の場合はFalseが返されます。
*/
関数f_check_ip(obj)
{
var re =/^(/d+)/。(/d+)/。(/d+)/。(/d+)$/; // IPアドレスの一致する正規表現
if(re.test(obj.value))
{
if(regexp。$ 1 <= 255 && regexp。$ 1> = 0
&& regexp。$ 2 <= 255 && regexp。$ 2> = 0
&& regexp。$ 3 <= 255 && regexp。$ 3> = 0
&& regexp。$ 4 <= 255 && regexp。$ 4> = 0)
{
trueを返します。
}
}
f_alert(obj、 "法的コンピューターIPアドレスを入力してください");
falseを返します。
}
/*
目的:入力オブジェクトの値がポート番号形式を満たしているかどうかを確認します
入力:STR入力された文字列
返品:trueが検証によって返される場合、それ以外の場合はfalse
*/
関数f_check_port(obj)
{
if(!f_check_number(obj))
falseを返します。
if(obj.value <65536)
trueを返します。
f_alert(obj、 "法的コンピューターIPアドレスとポート番号を入力してください");
falseを返します。
}
/*
目的:入力オブジェクトの値がURL形式を満たしているかどうかを確認します
入力:STR入力された文字列
返品:trueが検証によって返される場合、それ以外の場合はfalse
*/
function f_check_url(obj){
var myReg = /^((http:= [/])?/w+(]
if(myreg.test(obj.value))true;
f_alert(obj、 "法的Webアドレスを入力してください");
falseを返します。
}
/*
目的:入力オブジェクトの値が電子メール形式に準拠しているかどうかを確認します
入力:STR入力された文字列
返品:trueが検証によって返される場合、それ以外の場合はfalse
*/
function f_check_email(obj){
var myReg = /^( [--_a-za-z0-9/.] +@( [_a-za-z0-9 ]+/.)+ [a-z0-9] {2,3 }$/;
if(myreg.test(obj.value))true;
f_alert(obj、 "法的なメールアドレスを入力してください");
falseを返します。
}
/*
要件:1。携帯電話番号は11桁または12桁です。 12桁の場合、最初の数字は0です
2。11桁の携帯電話番号の1桁目と2桁目は「13」です
第三に、12桁の携帯電話番号の2番目と3桁目は「13」です
目的:携帯電話番号が正しく入力されているかどうかを確認します
入力:
S:文字列
戻る:
trueが検証によって返される場合、それ以外の場合はfalse
*/
function f_check_mobile(obj){
var regu =/(^[1] [3] [0-9] {9} $)|(^0 [1] [3] [0-9] {9} $)/;
var re = new regexp(regu);
if(re.test(obj.value)){
trueを返します。
}
f_alert(obj、 "正しい携帯電話番号を入力してください");
falseを返します。
}
/*
要件:1。電話番号は数字、 "("、 ")"および " - "で構成されています
2。電話番号は3〜8桁です
3.電話番号に市外局番が含まれている場合、市外局番は3桁または4桁です。
4。エリアコードは、「(」、」または「 - 」によって他の部分から分離されています
目的:入力された電話番号が正しい形式であるかどうかを確認します
入力:
strphone:文字列
戻る:
trueが検証によって返される場合、それ以外の場合はfalse
*/
関数f_check_phone(obj)
{
var regu =/(^([0]] [1-9] {2,3} [ - ])?/d {3,8}( - /d {1,6})?$)
var re = new regexp(regu);
if(re.test(obj.value)){
trueを返します。
}
f_alert(obj、 "正しい電話番号を入力してください");
falseを返します。
}
/*それが郵便番号であるかどうかを判断します*/
関数f_check_zipcode(obj)
{
if(!f_check_number(obj))
falseを返します。
if(obj.value.length!= 6)
{
f_alert(obj、「郵便番号の長さは6桁でなければなりません」);
falseを返します。
}
trueを返します。
}
/*
ユーザーIDは、数字、文字、およびアンダースコアの組み合わせである可能性があります。
最初の文字は数値ではなく、合計長さは20を超えることはできません。
*/
関数f_check_userid(obj)
{
var userid = obj.value;
if(userid.length> 20)
{
f_alert(obj、 "IDの長さは20を超えることはできません");
falseを返します。
}
if(!isnan(userid.charat(0)))
{
f_alert(obj、「idの最初の文字は数字にはなりません」);
falseを返します。
}
if(!/^/w {1,20} $/。test(userId)))
{
f_alert(obj、 "idは数字、文字、アンダースコアでのみ構成できます」);
falseを返します。
}
trueを返します。
}
/*
関数:ID番号が有効かどうかを確認します
迅速なメッセージ:入力されていないか、ID番号が正しくありません!
使用:f_check_idno(obj)
返品:bool
*/
関数f_check_idno(obj)
{
var acity = {11: "Beijing"、12: "Tianjin"、13: "hebei"、14: "shanxi"、15: "innerモンゴル "、21:「liaoning"、22: "jilin"、23: "heilongjiang"、31: "shanghai"、32: "jiangsu"、33: 「Zhejiang」、34: "Anhui"、35: "Fujian"、36: "Jiangxi"、37: "Shandong"、41: "Henan"、42: "Hubei"、 43: "Hunan"、44: "Guangdong"、45: "Guangxi"、46: "Hainan"、50: "Chongqing"、51: "sichuan"、52: "guizhou"、53: "yun Nan "、54:" Tibet "、61:" shaanxi "、62:" gansu "、63:" Qinghai "、64:" ningxia "、65:" Xinjiang "、71:" Taiwan "、81:" Hong Kong "、82:" Macao "、91:" Foreign "};
var isum = 0;
var info = "";
var stridno = obj.value;
var idcardlength = stridno.length;
if(!/^/d {17}(/d | x)$/i.test(stridno)&&!/^/d {15} $/i.test(stridno))
{
f_alert(obj、 "違法ID番号");
falseを返します。
}
//後続の操作では、xは10に相当するため、
stridno = stridno.replace(/x $/i、 "a");
if(acity [parseint(stridno.substr(0,2))] == null)
{
f_alert(obj、 "違法なエリア");
falseを返します。
}
if(idcardlength == 18)
{
sbirthday = stridno.substr(6,4)+" - "+number(stridno.substr(10,2))+" - "+number(stridno.substr(12,2));
var d = new Date(sbirthday.replace(/ - /g、 "/"))
if(sbirthday!=(d.getwylear()+ " - "+(d.getmonth()+ 1)+ " - "+ d.getdate()))
{
f_alert(obj、 "違法な誕生日");
falseを返します。
}
for(var i = 17; i> = 0; i-)
isum +=(math.pow(2、i)%11) * parseint(stridno.charat(17 -i)、11);
if(isum%11!= 1)
{
f_alert(obj、 "違法ID番号");
falseを返します。
}
}
else if(idcardlength == 15)
{
sbirthday = "19" + stridno.substr(6,2) + " - " + number(stridno.substr(8,2)) + " - " + number(stridno.substr(10,2));
var d = new Date(sbirthday.replace(/ - /g、 "/"))
var dd = d.getFullyear()。toString() + " - " +(d.getMonth() + 1) + " - " + d.getDate();
if(sbirthday!= dd)
{
f_alert(obj、 "違法な誕生日");
falseを返します。
}
}
trueを返します。
}
/*
*文字列が指定された正規表現を満たしているかどうかを判断します
*/
関数f_check_formatstr(obj)
{
var str = obj.value;
var dtype = obj.eos_datatype;
var regu = dtype.substring(dtype.indexof( "(")+1、dtype.indexof( ")")); //指定された正規表現
var re = new regexp(regu);
if(re.test(str))
trueを返します。
f_alert(obj、「指定された正規表現要件を満たしていない」);
falseを返します。
}
/*
関数:それが日付であるかどうかを判断します(フォーマット:yyyy year mm mont dd dd、yyyy-mm-dd、yyyy/mm/dd、yyyymmdd)
ヒント:入力または入力されていない日付は、形式が正しくありません!
使用:f_check_date(obj)
返品:bool
*/
関数f_check_date(obj)
{
var date = trim(obj.value);
var dtype = obj.eos_datatype;
var format = dtype.substring(dtype.indexof( "(")+1、dtype.indexof( ")")); //日付形式
var year、month、day、datepat、matchArray;
if(/^(y {4})( - | //)(m {1,2})/2(d {1,2})$/。テスト(フォーマット))
datePat =/^(/d {4})( - | //)(/d {1,2})/2(/d {1,2})$/;
else if(/^(y {4})(year)(m {1,2})(month)(d {1,2})(d {1,2})(d)$/。テスト(フォーマット)))
datePat =/^(/d {4})年(/d {1,2})月(/d {1,2})day $/;
else if(format == "yyyymmdd")
datePat =/^(/d {4})(/d {2})(/d {2})$/;
それ以外
{
f_Alert(obj、 "日付形式が正しくない");
falseを返します。
}
matchArray = date.match(datepat);
if(matchArray == null)
{
f_alert(obj、「日付の長さが正しくない、または日付に非数字のシンボルがあります」);
falseを返します。
}
if(/^(y {4})( - | //)(m {1,2})/2(d {1,2})$/。テスト(フォーマット))
{
year = matchArray [1];
月= MatchArray [3];
day = matchArray [4];
} それ以外
{
year = matchArray [1];
月= MatchArray [2];
day = matchArray [3];
}
if(月<1 ||月> 12)
{
f_alert(obj、 "月は1から12までの整数である必要があります」);
falseを返します。
}
if(1日目<1 ||日> 31)
{
f_Alert(obj、「1か月あたりの日数は1から31までの整数でなければなりません」);
falseを返します。
}
if((month == 4 ||月== 6 ||月== 9 ||月== 11)&& day == 31)
{
f_alert(obj、 "月は31日に存在しません");
falseを返します。
}
if(月== 2)
{
var isLeap =(年%4 == 0 &&(年%100!= 0 ||年%400 == 0));
if(1日> 29)
{
f_alert(obj、 "2月は29日までです」);
falseを返します。
}
if((day == 29)&&(!isleap))
{
f_alert(obj、 "リープ年には29日しかありません");
falseを返します。
}
}
trueを返します。
}
/*
機能:検証の形式はyyyy year mm month dd day hh hour mm minutes ss sencess、yyyy-mm-dd hh:mm:ss、yyyyy/mm/dd hh:mm:ss、yyyymmddhhmmss
プロンプトメッセージ:入力または入力されていない時間形式が正しくありません
使用:f_check_time(obj)
返品:bool
*/
関数f_check_time(obj)
{
var time = trim(obj.value);
var dtype = obj.eos_datatype;
var format = dtype.substring(dtype.indexof( "(")+1、dtype.indexof( ")")); //日付形式
var datepat、matcharray、year、month、day、hour、minute、second;
if(/^(y {4})( - | //)(m {1,2})/2(d {1,2})(hh:mm:ss)$/。test(format)))
datePat =/^(/d {4})( - | //)(/d {1,2})/2(/d {1,2})(/d {1,2}):(/d {1,2}):(/d {1,2}):(/d {1,2}):(/d {1,2})$/;
else if(/^(y {4})(year)(m {1,2})(month)(d {1,2})(d {1,2})(d)(hh時間、mm分、ss秒)$/。テスト(フォーマット)))
datepat =/^(/d {4})年(/d {1,2})月(/d {1,2})日(/d {1,2})時間(/d {1,2})分(/d {1,2})秒$/;
else if(format == "yyyymmddhhmmss")
datepat =/^(/d {4})(/d {2})(/d {2})(/d {2})(/d {2})(/d {2})(/d {2})(/d {2})$/;
それ以外
{
f_Alert(obj、 "日付形式が正しくない");
falseを返します。
}
matchArray = time.match(datepat);
if(matchArray == null)
{
f_alert(obj、「日付の長さが正しくない、または日付に非数字のシンボルがあります」);
falseを返します。
}
if(/^(y {4})( - | //)(m {1,2})/2(d {1,2})(hh:mm:ss)$/。test(format)))
{
year = matchArray [1];
月= MatchArray [3];
day = matchArray [4];
hour = matchArray [5];
minute = matchArray [6];
second = matchArray [7];
} それ以外
{
year = matchArray [1];
月= MatchArray [2];
day = matchArray [3];
hour = matchArray [4];
minute = matchArray [5];
second = matchArray [6];
}
if(月<1 ||月> 12)
{
f_alert(obj、 "月は1から12までの整数である必要があります」);
falseを返します。
}
if(1日目<1 ||日> 31)
{
f_Alert(obj、「1か月あたりの日数は1から31までの整数でなければなりません」);
falseを返します。
}
if((month == 4 ||月== 6 ||月== 9 ||月== 11)&& day == 31)
{
f_alert(obj、 "月は31日に存在しません");
falseを返します。
}
if(月== 2)
{
var isLeap =(年%4 == 0 &&(年%100!= 0 ||年%400 == 0));
if(1日> 29)
{
f_alert(obj、 "2月は29日までです」);
falseを返します。
}
if((day == 29)&&(!isleap))
{
f_alert(obj、 "リープ年には29日しかありません");
falseを返します。
}
}
if(hour <0 || hour> 23)
{
f_alert(obj、 "時間は0から23までの整数である必要があります");
falseを返します。
}
if(minute <0 || minute> 59)
{
f_alert(obj、 "スコアは0から59までの整数である必要があります");
falseを返します。
}
if(second <0 || second> 59)
{
f_alert(obj、 "秒は0から59までの整数である必要があります");
falseを返します。
}
trueを返します。
}
/*現在のオブジェクトが表示されているかどうかを判断*/
関数isvisible(obj){
Var Visatt、Distatt;
試す{
distatt = obj.style.display;
visatt = obj.style.visibility;
} catch(e){}
if(distatt == "none" || visatt == "hidden")
falseを返します。
trueを返します。
}
/*現在のオブジェクトとその親オブジェクトが表示されているかどうかを判断します*/
関数checkprvis(obj){
var pr = obj.parentnode;
する{
if(pr == undefined || pr == "未定義")trueを返します。
それ以外{
if(!isvisible(pr))falseを返します。
}
} while(pr = pr.parentnode);
trueを返します。
}
/*警告ダイアログボックスが表示されます。ユーザーがクリックして確認したら、エラーテキストボックスにカーソルを配置し、元の入力コンテンツを選択します。 */
function f_alert(obj、acertinfo)
{
varキャプション= obj.getattribute( "eos_displayname");
if(caption == null)
キャプション= "";
アラート(キャプション + ":" + alertinfo + "!");
obj.select();
if(isvisible(obj)&& checkprvis(obj))
obj.focus();
}
/**
*文字列が空であるかどうかを確認します
*/
関数isnull(str)
{
var i;
if(str.length == 0)
trueを返します。
for(i = 0; i <str.length; i ++)
{
if(str.charat(i)!= '')
falseを返します。
}
trueを返します。
}
/**
*指定されたテキストボックスの入力が合法かどうかを確認します。
*ユーザーが何か間違った入力を入力した場合、[プロンプト]ダイアログボックスがポップアップします。
*同時に、テキストボックスに焦点を当て、テキストボックスの前に
*警告アイコンが表示されます(入力後に自動的に削除されます)。
*/
function checkinput(object)
{
var image;
var i;
var Length;
if(object.eos_maxsize + ""!= "undefined")length = object.eos_maxsize;
else length = 0;
if(object.eos_isnull == "true" && isnull(object.value))return true;
/*長さチェック*/
if(length!= 0 && strlen(object.value)> parseint(length)){
f_alert(オブジェクト、 "最大長を超えた" +長さ);
falseを返します。
}
/*データ型検証*/
それ以外 {
if(object.eos_datatype + ""!= "未定義")
{
var dtype = object.eos_datatype;
var objname = object.name;
//タイプ名の後にブラケットが続く場合、ブラケットの前の文字列はチェックタイプと見なされます
if(dtype.indexof( "(")!= -1)
dtype = dtype.substring(0、dtype.indexof( "("));
//ページ要素の検証タイプに従って確認します
試す{
if(eval( "f_check_" + dtype + "(object)")!= true)
falseを返します。
} catch(e){return true;}
/*名前の前半が形式で存在し、両方とも「min」と「max」で終わるフォームフィールドがある場合、
次に、間隔ごとにクエリと見なされます。つまり、「min」を終了するフォームフィールドの値は、「max」を終了するフォームフィールドの値以下でなければなりません。 */
if(objname.substring((objname.length-3)、objname.length)== "min")
{
var objmaxname = objname.substring(0、(objname.length-3)) + "max";
if(document.getElementbyId(objmaxname)!= undefined && document.getElementbyId(objmaxname)!= "undefined"))
{
if(checkintervalobjs(object、document.getElementbyid(objmaxname))!= true)
falseを返します。
}
}
}
}
trueを返します。
}
/*フォームのオンスビットイベントに使用されるフォームのすべての入力アイテムの正確性を確認します*/
function checkform(myform)
{
var i;
for(i = 0; i <myform.elements.length; i ++)
{
/*非カスタム属性は無視されます*/
if(myform.ments [i] .eos_displayname + "" == "undefined")継続;
/*空だがないチェック*/
if(myform.elements [i] .eos_isnull == "false" && isnull(myform.elements [i] .value)){
f_alert(myform.elements [i]、 "空にすることはできません");
falseを返します。
}
/*データ型検証*/
if(checkinput(myform.elements [i])== false)
falseを返します。
}
trueを返します。
}
/**
* 2つのフォームフィールドのデータのサイズを確認します。現在、日付と数値のみが許可されています。
* @param obj1 Small Value Formフィールド
* @param obj2大値フォームフィールド
*/
関数checkintervalobjs(obj1、obj2)
{
var caption1 = obj1.getattribute( "eos_displayname");
var caption2 = obj2.getattribute( "eos_displayname");
var val1 = parsefloat(obj1.value);
var val2 = parsefloat(obj2.value);
//非カスタム属性は無視されます
if(obj1.eos_displayname + "" == "undefined" || obj2.eos_displayname + "" == "undefined"){
falseを返します。
}
//日付タイプの比較
if(f_check_date(obj1)== true && f_check_date(obj2)== true){
var dtype = obj1.eos_datatype;
var format = dtype.substring(dtype.indexof( "(")+1、dtype.indexof( ")")); //日付形式
val1 = getDateByFormat(obj1.value、format);
dtype = obj2.eos_datatype;
format = dtype.substring(dtype.indexof( "(")+1、dtype.indexof( ")")); //日付形式
val2 = getDateByFormat(obj2.value、format);
if(val1> val2){
obj2.select();
if(isvisible(obj)&& checkprvis(obj))
obj2.focus();
アラート(caption1 + "開始日は終了日より大きくなることはできません!");
falseを返します。
}
}
//数値タイプの比較
if((isnan(val1)&&!isnull(val1))||(isnan(val2)」&&!isnull(val2)){
アラート(caption1 + "すべての数字の値が数字である場合、比較することはできません!");
falseを返します。
}
if(val1> val2){
obj2.select();
if(isvisible(obj)&& checkprvis(obj))
obj2.focus();
アラート(caption1 + "の開始値は、その最終値よりも大きくできません!");
falseを返します。
}
trueを返します。
}
/*文字列を日付形式に従って文字列に変換します。
フォーマット:Yyyy Year、mm month、dd-day、hh-hour、mm-minute、ss-second。
(たとえば、フォーマットは完全に記述する必要があります。たとえば、許可されていません。それ以外の場合はnullが返されます。形式は実際のデータと一致せず、nullも返します。)
デフォルト形式:yyyy-mm-dd HH:mm:ss、yyyy-mm-dd。 */
関数getDateByFormat(str){
var Datereg、形式;
var y、m、d、h、m、s、yi、mi、di、hi、mi、si;
if((arguments [1] + "")== "未定義")format = "yyyy-mm-dd hh:mm:ss";
else format = arguments [1];
yi = format.indexof( "yyyy");
mi = format.indexof( "mm");
di = format.indexof( "dd");
hi = format.indexof( "hh");
mi = format.indexof( "mm");
si = format.indexof( "ss");
if(yi == -1 || mi == -1 || di == -1)nullを返します。
それ以外{
y = parseint(str.substring(yi、yi+4));
m = parseint(str.substring(mi、mi+2));
d = parseint(str.substring(di、di+2));
}
if(isnan(y)|| isnan(m)|| isnan(d))return null;
if(hi == -1 || mi == -1 || si == -1)新しい日付(y、m -1、d)を返します。
それ以外{
H = str.Substring(HI、HI+4);
m = str.substring(mi、mi+2);
s = str.substring(si、si+2);
}
if(isnan(parseint(y))|| isnan(parseint(m))|| isnan(parseint(d)))新しい日付(y、m-1、d);
それ以外の場合、新しい日付を返します(y、m-1、d、h、m、s);
}
/*ltrim(string):左側のスペースを削除*/
関数ltrim(str){
var whitespace = new String( "/t/n/r");
var s = new String(str);
if(whitespace.indexof(s.charat(0))!= -1){
var j = 0、i = s.length;
while(j <i && whitespace.indexof(s.charat(j))!= -1){
J ++;
}
S = S.Substring(J、I);
}
s;
}
/*rtrim(string):右側のスペースを削除*/
関数rtrim(str){
var whitespace = new String( "/t/n/r");
var s = new String(str);
if(whitespace.indexof(s.charat(s.length -1))!= -1){
var i = s.length -1;
while(i> = 0 && whitespace.indexof(s.charat(i))!= -1){
私 - ;
}
S = S.Substring(0、I+1);
}
s;
}
/*トリム(文字列):文字列の両側のスペースを削除*/
関数トリム(str){
Rtrim(ltrim(str));
}