ホームページ > ウェブフロントエンド > jsチュートリアル > 誰もが学び、私が自分自身をチェックするための JavaScript の基礎知識の完全なコレクション_JavaScript スキル

誰もが学び、私が自分自身をチェックするための JavaScript の基礎知識の完全なコレクション_JavaScript スキル

WBOY
リリース: 2016-05-16 17:50:46
オリジナル
1134 人が閲覧しました

1.javascript 配列 API

コードをコピー コードは次のとおりです:

//配列を定義します
var pageIds = new Array();
pageIds.push('A');
配列の長さ
pageIds.length;
//shift: 元の配列の最初の項目を削除します。要素の値を削除します。
var a = [1,2,3,4,5];
var b = a.shift(); /a: [2,3, 4,5] b: 1
//unshift: 元の配列の先頭にパラメータを追加し、配列の長さを返します
var a = [1,2,3 ,4,5];
var b = a.unshift(-2,-1); //a: [-2,-1,1,2,3,4,5] b: 7
//注意: IE6.0 でのテスト戻り値は常に未定義であり、FF2.0 でのテスト戻り値は 7 であるため、このメソッドの戻り値は信頼できません。戻り値が必要な場合は、代わりに splice を使用できます。この方法の。
//pop: 元の配列の最後の項目を削除し、削除された要素の値を返します。配列が空の場合は、未定義の
var a = [1,2,3,4,5] を返します。
var b = a.pop(); //a: [1,2,3,4] b: 5
//push: 元の配列の末尾にパラメータを追加し、配列の長さを返します。配列
var a = [1,2,3,4,5];
var b = a.push(6,7); //a: [1,2,3,4,5,6] ,7] b: 7
//concat: 元の配列にパラメータを追加して形成された新しい配列を返します
var a = [1,2,3,4,5]; b = a.concat(6 ,7); //a: [1,2,3,4,5] b: [1,2,3,4,5,6,7]
//splice( start,deleteCount,val1,val2 ,): deleteCount 項目を開始位置から削除し、この位置から val1、val2 を挿入します。
var a = [1,2,3,4,5]; = a.splice(2 ,2,7,8,9); //a:[1,2,7,8,9,5] b:[3,4]
var b = a.splice( 0,1); / /shift
a.splice(0,0,-2,-1) と同じ; //unshift
var b = a.splice() と同じa.length-1,1) ; //pop
a.splice(a.length,0,6,7) と同じ //push
//リバースと同じ: 配列の順序を逆にします
var a = [1,2,3,4,5]
var b = a.reverse(); //a: [5,4,3,2, 1] b: [5,4,3,2 ,1]
//sort(orderfunction): 指定されたパラメーターに従って配列を並べ替えます
var a = [1,2,3,4,5] ;
var b = a.sort() ; //a: [1,2,3,4,5] b: [1,2,3,4,5]
//スライス(開始, end): 元の配列で指定された開始添字を返します。 終了添字間の項目で構成される新しい配列。
var a = [1,2,3,4,5];
var b = a.slice( 2,5); //a: [ 1,2,3,4,5] b: [3,4,5]
//join(separator): を使用して、配列の要素を文字列に結合します。 separator を区切り文字として使用します。省略した場合はデフォルトが使用されます。区切り文字としてカンマを使用します。
var a = [1,2,3,4,5]; //a: [1,2,3,4 ,5] b: "1|2|3|4|5"


2.dom で最もよく使用される API


コードをコピー コードは次のとおりです: ドキュメント メソッド:
getElementById(id) ノードは参照を返します。指定されたノード
getElementsByTagName(name) NodeList はドキュメント内のすべての一致する要素を返します 要素のコレクション
createElement(name) ノード ノード
createTextNode(text) ノードはプレーン テキスト ノードを作成します
ownerDocument ドキュメントが指すものこのノードが属するドキュメント
documentElement ノードは HTML ノードを返します
document body ノードは body ノードを返します
element メソッド:
getAttribute(attributeName) String 指定された属性の値を返します
setAttribute(attributeName,value) String 属性に値を割り当てます。
removeAttribute(attributeName) String 指定された属性とその値を削除します。
getElementsByTagName(name) NodeList は、ノード内の一致するすべての要素のコレクションを返します
ノードメソッド:
appendChild(child) ノードは指定されたノードに新しい子ノードを追加します
removeChild (child) ノードは指定されたノードの子ノードを削除します
replaceChild(newChild,oldChild) ノードは子ノードを置き換えます指定されたノードの
insertBefore(newChild,refChild) ノードは、同じレベルのノードの前に新しいノードを挿入します。 Node
hasChildNodes() ノードに子ノードがある場合、ブール値は true を返します。
ノード属性:
nodeName 文字列はノードの名前を文字列形式で格納します
nodeType 整数データ形式の文字列 ストレージ ノードのタイプ
nodeValue 文字列 ノードの値を使用可能な形式で格納します
parentNode ノードを指す参照ノードの親ノード
childNodes NodeList 子ノードを指す参照のコレクション
firstChild Node は子ノードの組み合わせの最初の子ノードの参照を指します
lastChild Node は子ノードの参照を指します子ノードの組み合わせの最後の子ノード
previousSibling Node は前の兄弟ノードを指します。このノードが兄弟ノードの場合、値は null になります。
nextSibling Node は、このノードが兄弟ノードの場合、次の兄弟ノードを指します。兄弟ノードの場合、値は null になります


3. オンラインで収集されたマップ オブジェクト:


コードをコピーします コードは次のとおりです:

function HashMap()
{
/**Map size **/
var size = 0;
/**Object **/
var entry = new Object();
/**live **/
this.put = function (key , value)
{
if(!this.containsKey(key))
{
size ;
}
entry[key] = value;
}
/**Pick **/
this.get = function (key)
{
return this.containsKey(key) ? entry[key] : null;
}
/**delete **/
this.remove = function ( key )
{
if( this.containsKey(key) && ( delete entry[key] ) )
{
size --;
}
}
/**Whether to include Key **/
this.containsKey = function ( key )
{
return (key in entry);
}
/**Whether to include Value **/
this.containsValue = function ( value )
{
for(var prop in entry)
{
if(entry[prop] == value)
{
return true;
}
}
return false;
}
/**All Value **/
this.values = function ()
{
var values = new Array();
for(var prop in entry)
{
values.push(entry[prop]);
}
return values;
}
/**All Key **/
this.keys = function ()
{
var keys = new Array();
for(var prop in entry)
{
keys.push(prop);
}
return keys;
}
/**Map Size **/
this.size = function ()
{
return size;
}
/* 清空 */
this.clear = function ()
{
size = 0;
entry = new Object();
}
}
var map = new HashMap();
/*
map.put("A","1");
map.put("B","2");
map.put("A","5");
map.put("C","3");
map.put("A","4");
*/
/*
alert(map.containsKey("XX"));
alert(map.size());
alert(map.get("A"));
alert(map.get("XX"));
map.remove("A");
alert(map.size());
alert(map.get("A"));
*/
/**You can also use the object as Key **/
/*
var arrayKey = new Array("1","2","3","4");
var arrayValue = new Array("A","B","C","D");
map.put(arrayKey,arrayValue);
var value = map.get(arrayKey);
for(var i = 0 ; i < value.length ; i )
{
//alert(value[i]);
}
*/
/**When an object is used as a Key, the toString() method of the object is automatically called. In fact, the String object is ultimately used as the Key**/
/**If it is a custom object, you have to override the toString() method. Otherwise, . will be the following result **/
function MyObject(name)
{
this.name = name;
}
/**
function MyObject(name)
{
this.name = name;
this.toString = function ()
{
return this.name;
}
}
**/
var object1 = new MyObject("小张");
var object2 = new MyObject("小名");
map.put(object1,"小张");
map.put(object2,"小名");
alert(map.get(object1));
alert(map.get(object2));
map.remove("xxxxx");
alert(map.size());
/**Running result Nickname Nickname size = 1 **/
/**If you change it to an object that overrides the toString() method, the effect will be completely different **/


4.常用的数字函数:
复制代码 代码如下:

·数字型(Number)
1.声明
var i = 1;
var i = new Number(1);
2.字符串与数字间的转换
var i = 1;
var str = i.toString(); //结果: "1"
var str = new String(i); //结果: "1"
i = parseInt(str); //结果: 1
i = parseFloat(str); //结果: 1.0
//注意: parseInt,parseFloat会把一个类似于"32G"的字符串,强制转换成32
3.判断是否为有效的数字
var i = 123; var str = "string";
if( typeof i == "number" ){ } //true
//某些方法(如:parseInt,parseFloat)会返回一个特殊的值NaN(Not a Number)
//请注意第2点中的[注意],此方法不完全适合判断一个字符串是否是数字型!!
i = parseInt(str);
if( isNaN(i) ){ }
4.数字型比较
//此知识与[字符串比较]相同
5.小数转整数
var f = 1.5;
var i = Math.round(f); //结果:2 (四舍五入)
var i = Math.ceil(f); //结果:2 (返回大于f的最小整数)
var i = Math.floor(f); //结果:1 (返回小于f的最大整数)
6.格式化显示数字
var i = 3.14159;
//格式化为两位小数的浮点数
var str = i.toFixed(2); //结果: "3.14"
//格式化为五位数字的浮点数(从左到右五位数字,不够补零)
var str = i.toPrecision(5); //结果: "3.1415"
7.X进制数字的转换
//不是很懂 -.-
var i = parseInt("0x1f",16);
var i = parseInt(i,10);
var i = parseInt("11010011",2);
8.随机数
//返回0-1之间的任意小数
var rnd = Math.random();
//返回0-n之间的任意整数(不包括n)
var rnd = Math.floor(Math.random() * n)

5. オンラインで収集された JS スタック:
コードをコピーします コードは次のとおりです:

function stack(){
if(this.top==unknown){
//スタックの先頭ポインタとデータ格納領域を初期化
this.top=0; .unit=new Array ();
}
this.push=function(pushvalue){
//スタックへのプッシュ方法を定義
this.unit[this.top]=pushvalue ;
this.top =1;
}
this.readAllElements=function(){
//すべてのデータを読み取るメソッドを定義します
if(this.top==0){
alert("現在スタックが空でデータを読み取れません");
return("");
var count=0;
for(count=0;count< ;this.top;count ){
outStr =this.unit[count] ","
}
return(outStr); >this.pop=function(){
// スタックをポップするメソッドを定義します
if(this.top==0){
alert("現在のスタックは空なのでデータをポップできません");
return("");
}
var PopTo=this.unit[this.top-1];
this.top--;
return(popTo);
/* スタックからデータをポップし、先頭ポインターを 1 つデクリメントしますが、ここではリソースは解放されません。つまり、データは this.unit の配列にまだ存在しますが、アクセスできません。現時点では
良い解決策が思いつきません。 */
}
}


6. 最も一般的に使用される JavaScript 日付関数:



コードをコピー

コードは次のとおりです。 ・日付型 (Date) 1. var myDate = new Date() を宣言します。システム var myDate = new Date(yyyy, mm, dd, hh, mm, ss);
var myDate = new Date(yyyy, mm, dd);
var myDate = new Date("monthName") dd, yyyy hh:mm: ss");
var myDate = new Date("monthName dd, yyyy");
var myDate = new Date(epochMilliseconds);
2. の一部を取得します。 time
var myDate = new Date();
myDate.getyear(); //現在の年を取得します (2 桁)
myDate.getFull Year(); // 完全な年を取得します。 1970-????)
myDate.getMonth(); //現在の月を取得します (0 ~ 11、0 は 1 月を表します)
myDate.getDate() // 現在の日付を取得します (1 ~ 31) )
myDate.getDay() // 現在の週を取得します。 !
myDate.getHours(); //現在の時間数を取得します (0 ~ 23)
myDate.getMinutes() //現在の分数を取得します (0 ~ 59)
myDate.getSeconds (); / / 現在の秒数を取得します (0 ~ 59)
myDate.getMilliseconds() // 現在のミリ秒数を取得します (0 ~ 999)
myDate.toLocaleDateString();現在の日付
myDate.toLocaleTimeString (); // 現在の時刻を取得します
myDate.toLocaleString( ) // 日付と時刻を取得します
3. 以前または将来の時刻を計算します
var myDate = new Date();
myDate(myDate.getDate() 10); //現在時刻に 10 日を加えたもの
//set から始まる同様のメソッドは、以下を参照してください。ポイント 2
4. 2 つの日付のオフセットを計算します。Amount
var i = daysBetween(beginDate,endDate) //日数を返します
var i = beginDate.getTimezoneOffset(endDate);分数
5. 有効な日付を確認します
//checkDate () "mm-dd-yyyy" または "mm/dd/yyyy" の 2 つの形式の日付のみを許可します
if( checkDate ("2006-01-01") ){ }
//正規表現 (yyyy-mm-dd, yy-mm-dd, yyyy/mm/dd, yy/mm/dd を確認するために自分で書きました)
var r = /^(d{2}|d{4}) [/-]d{1,2}[/-]d{1,2}$/;
if( r.test( myString ) ){ }


7. 最も一般的に使用される文字列関数 API:




コードをコピー


コードは次のとおりです:

・String (文字列)
1. ステートメント
var myString = new String("良い子はみんな元気です。");
var myString = "良い子は元気です。" ";
2. 文字列の連結
var myString = "すべて " "良い子" "は大丈夫です。";
var myString = "すべて "; myString = "良い子は大丈夫です。";
3. 文字列をインターセプトします
//6 番目の位置から始まる文字をインターセプトします
var myString = "良い子は大丈夫です。"; : "良い子は元気です。"
//数字 0 から数字 10 までの文字をインターセプトします
var myString = "良い子は元気です。"
varセクション = myString.substring( 0, 10); //結果: "Every Good"
//下から 11 番目から 6 番目までの文字をインターセプトします
var myString = "Every Good Boy Does Fine."; .slice(11,-6); //結果: "boy doesn't"
//長さ 4 の文字を 6 番目の位置から切り捨てます
var myString = "良い子は大丈夫です。" ; 🎜>varセクション = myString.substr(6,4); //結果: "良い"
4. case
var myString = "Hello"
var lcString = myString.toLowerCase (); //結果: "hello"
var ucString = myString.toUpperCase(); //結果: "HELLO"
5. 文字列比較
var aString = "Hello!"; new String("Hello!");
if( aString == "Hello!" ){ } //結果: true
if( aString == bString ){ } //結果: true
if ( aString === bString ){ } //結果: false (値は同じですが、2 つのオブジェクトは異なります)
6. 文字列を取得します
var myString = "皆さん、こんにちは。 ";
// 取得できない場合は -1 を返します。取得できた場合は文字列内の開始位置を返します
if( myString.indexOf("every") > -1 ){ } //結果: true
7. 文字列を検索して置換します
var myString = "私はあなたの父親です。"
var result = myString.replace("is","am"); //結果: 「私はあなたの父親です。」
8. 特殊文字:
b: バック文字 t: 水平タブ文字
n: 改行文字 v: 垂直タブ文字
f : 改ページ r: 復帰文字
" : 二重引用符 ' : 一重引用符
\ : バックスラッシュ
9. 文字を Unicode エンコードに変換します
var myString = "hello";
var code = myString.charCodeAt( 3); //「l」の Unicode エンコードを返します(整数型)
var char = String.fromCharCode(66); //Unicode 66 で文字を返します
10文字列から URL へのエンコード
var myString = "hello all";
var code = encodeURI(myString); //結果: "hello all"
var str = decodeURI(code);こんにちは皆さん"
//対応: encodeURIComponent() decodeURIComponent()


8. 数学関数:



コードをコピー
コードは次のとおりです: ・Math オブジェクト1. Math.abs(num): num
2 の絶対値を返します。 (num): num
3 の逆余弦値を返します。 Math.asin(num): num
4 の逆正弦値を返します。 Math.atan(num): num の逆正接値を返します。
5. Math.atan2(y ,x): y を x で割った商の逆正接を返します。Math.ceil(num): num
7 より大きい最小の整数を返します。 Math.cos(num): num
8 のコサイン値を返します。 Math.exp(x): num のべき乗を返します): num
11.Math.max の自然対数を返します。 (num1,num2): num1 と num2 の大きい方を返します
12.Math.min(num1,num2): num1 と num2 の小さい方を返します
13.Math.pow(x,y): を返しますx の y 乗の値
14.Math.random(): 0 と 1 の間の乱数を返します
15.Math.round(num): num
16 の四捨五入された値を返します.Math.sin(num): num
の正弦値を返します。17.Math.sqrt(num): num
の平方根を返します。18.Math.tan(num): num の正接値を返します。
19.Math.E: 自然数 (2.718281828459045)
20.Math.LN2: 2 の自然対数 (0.6931471805599453)
21 .Math.LN10: 10 の自然対数 (2.3025850929940) 46)
22.Math.LOG2E: log 2 を底とする自然数 (1.4426950408889634)
23.Math.LOG10E: log 10 を底とする自然数 (0.434294481903 2518)
24.Math.PI : π (3.141592653589793)
25.Math.SQRT1_2 : 1/2 の平方根 (0.7071067811865476)
26.Math.SQRT2 : 2 の平方根 (1.4142135623730951)


9.ブラウザ機能関数:




コードをコピー


コードは次のとおりです:

1. ブラウザ名
//IE : "Microsoft Internet Explorer"
//NS : "Netscape"
var browserName = navigator.appName; 2. 🎜>bar browserVersion = navigator.appVersion;
3. クライアント オペレーティング システム
var isWin = ( navigator.userAgent.indexOf("Win") != -1 ); .indexOf("Mac") != -1 );
var isUnix = ( navigator.userAgent.indexOf("X11") != -1 ); 4. オブジェクトがサポートされているかどうかを確認します。 property
//オブジェクト、メソッド、またはプロパティが未定義の場合、これらの特別な値は false です。
if( document.images ){ }
if( document.getElementById) ){ }
5. ブラウザの現在の言語を確認します。
if( navigator.userLanguage ){ var l = navigator.userLanguage.toUpperCase() }
6. ブラウザが Cookie をサポートしているかどうかを確認します。 >if (navigator.cookieEnabled){ }


10. JavaScript オブジェクト指向メソッド実装の継承: メソッド呼び出し



コードをコピー
コードは次のとおりです: // 動物クラス Animal function Animal(bSex){ this.sex = bSex
this.getSex = function(){
return this.sex
}
}
//クラス静的変数 (変更しない場合~~)
animal.SEX_G = new Object(); // 女性
Animal.SEX_B = new Object() // 男性
// 動物のサブクラス Bird
function Bird(bSex){
animal.call(this, bSex); this.fly = function (iSpeed){
alert("最大飛行速度" iSpeed);
}
}
// 動物サブカテゴリー 魚
functionfish(bSex){
animal.call( this, bSex);
this.swim = function(iSpeed){
alert("iSpeed までの水泳速度)
}
}
//魚と鳥のハイブリッド。 。 。
関数crossBF(bSex){
bird.call(this, bSex);
fish.call(this, bSex);
var oPet = newcrossBF(animal.SEX_G) ; // メスの魚の鳥
alert(oPet.getSex() == Animal.SEX_G ? "メス" : "オス"); 🎜>

11. オブジェクト指向プログラミングを使用して JavaScript を作成します:




コードをコピーします


コードは次のとおりです。 :


MyTool = new function(){
/*** 空でない文字列を返します。デフォルト値がある場合は、デフォルトの文字列を返します。*/ this.notNull = function(str,defaultStr){ if(typeof(str) )== "未定義"||str==null||str==''){ if(defaultStr) return defaultStr; else
return ''; 🎜>else {
return str;
}
}
rootId = MyTool.notNull(rootId,'001000'); 12.使用された JS メソッド (フォーム検証のいくつかのメソッド、ドロップダウン メニューで一般的に使用されるメソッドなど):




コードをコピー


コードは次のとおりです:

/**
* JSON オブジェクトを文字列に変換します。
* @param {json object} json
* @return {json string}
*/
function jsonObj2Str(json) {
var str = "{";
for (prop in json) {
str = prop ":" json[prop] ",";
}
str = str.substr(0, str.length - 1);
str = "}";
文字列を返します。
}
/**
* json 文字列を json オブジェクトに変換します。
* @param {json string} jsonstr
* @return {json object}
*/
function jsonStr2Obj(jsonstr) {
return eval("(" jsonstr ")");
}
/**
* 要素の左の座標値を取得します。
* @param {dom object} obj
* @return {position value}
*/
function getLeft(obj){
var offset=e.offsetLeft;
if(e.offsetParent!=null) offset =getLeft(e.offsetParent);
オフセットを返します。
}
/**
* 要素の絶対位置の先頭座標値を取得します。
* @param {dom object} obj
* @return {position value}
*/
function getTop(obj){
var offset=e.offsetTop;
if(e.offsetParent!=null) offset =getTop(e.offsetParent);
オフセットを返します。
}
/**
* 文字列から左右のスペースを削除します。
* @param {元の文字列} str
* @return {スペースを削除した後の文字列}
*/
function trim(str)
{
return str.replace(/(^s*)|(s*$)/g, "");
}
/**
* ID に基づいて要素を取得します。
* @param {要素 ID 値} str
* @return {dom オブジェクト}
*/
function $(str) {
return document.getElementById(str);
}
/**
* 名前でオブジェクトを取得します。
* @param {要素名の値} str
* @return {名前に従って返される最初のオブジェクト}
*/
function $byName(str) {
var arr = document.getElementsByName(str);
if (arr)
return arr[0];
else
null を返す;
}
/***************次のメソッドはフォーム検証に関連します**************************** * ******************/
/**
* 空でない文字列を返します。デフォルト値がある場合は、デフォルトの文字列を返します。
* @param {デフォルト値} defaultStr
* @return {結果を返す}
*/
function notNull(str,defaultStr) {
if (typeof(str) == "未定義" || str == null || str == '') {
if (defaultStr)
return defaultStr;
else
return '';
} else {
return str;
}
}
/**
* 2 つの日付のサイズを比較します。
* @param {小さい日付のテキスト ボックス ID} smallDate
* @param {大きい日付のテキスト ボックス ID} bigDate
* @param {エラー プロンプトメッセージ} msg
*/
function CompareTwoDate(smallDate, bigDate, msg) {
var v1 = $(smallDate).value;
var v2 = $(bigDate).value;
if (v1 >= v2) {
alert(msg);
v2.focus();
false を返します。
}
true を返します。
}
/**
* 2 つの金額を比較するメソッドです。
* @param {小さい方の金額} smallNum
* @param {大きい方の金額} bigNum
* @param {エラーメッセージ} msg
* @return {ブール値}
*/
function CompareTwoNum(smallNum, bigNum, msg) {
var v1 = $(smallNum).value;
var v2 = $(bigNum).value;
if (parseFloat(v1) >= parseFloat(v2)) {
alert(msg);
v2.focus();
false を返します。
}
true を返します。
}
/**
* テキストボックスの長さが指定された長さを超えているかどうかを確認します。
* @param {テキスト ID} textId
* @param {テキストボックスの最大長} len
* @param {テキストボックスの説明内容 } msg
* @return {エラーがある場合は false を返し、そうでない場合は true を返す}
*/
function checkLength(textId, len, msg) {
obj = $(textId);
str = obj.value;
str = str.replace(/[^x00-xff]/g, "**");
realLen = str.length;
if (realLen > len) {
alert("[" msg "]" "長さ最大は" len "位です。", "请再输入!n注意:一汉字占有2位。");
obj.focus();
return false;
} else
return true;
}
/**
* テキスト ボックスを空にできないかどうかを決定します。
* @param {テキスト ボックス ID} textId
* @param {テキスト ボックスの説明内容} msg
* @return {存在する場合は false を返します。エラー、それ以外の場合は true を返します}
*/
function checkIfEmpty( textId, msg) {
var textObj = $(textId);
var textValue = textObj.value
if (trim(textValue) == '') {
alert('[' msg '] は空であってはなりません! ');
return false;
}
/* *
* 指定されたテキスト ボックスの内容が電子メールである必要があることを決定します。
* @param {テキスト ボックス ID} textId
* @param {テキスト ボックスの説明} msg
* @return {Ifこれは電子メールのコンテンツです。そうでない場合は true を返し、それ以外の場合は false を返します。}
*/
function checkIsMail(textId, msg) {
var obj = $(textId);
if (!_isEmail(obj.value)) {
alert('[' msg '] は有効な電子メール アドレスではありません! ');
return false;
} else
return true; 🎝> */
function _isEmail(strEmail) {
//次の検証は 2 つ以上の '.' 数字があるかどうかです。ある場合は、それは間違っています。
var first = strEmail.indexOf ('. ');
if (strEmail.indexOf('@')== -1) {
return false;
}
var tempStr = strEmail.substring(最初の 1); 🎜>if (tempStr.indexOf('.') != -1) {
return false;
}
if (strEmail
.search(/^w ((-w )|( .w ) )*@[A-Za-z0-9] ((.|-)[A-Za-z0-9] )*.[A-Za-z0-9] $/) != -1) {
return true;
} else
return false
}
/**
* メールであるかどうかを確認します。
* @param {検証する文字列} strEmail
* @return {Boolean}
*/
function checkIsNum(textId, msg) {
obj = $ (textId) ;
if (isNaN(obj.value)) {
alert('[' msg '] は数値でなければなりません。 ');
obj.focus();
return
} else
return true;
/**
* テキスト ボックスが数値かどうかを判断します。
* @param {テキスト ボックス ID} textId
* @param {テキスト ボックスの説明内容} msg
* @return {Boolean}
*/
関数textId, msg) {
obj = $(textId);
if (!_isValidString(obj.value, '[' msg '] には不正な文字が含まれていてはなりません。')) {
obj.focus();
false を返します。
}
true を返します。
}
/**
* 正当な文字列であるかどうかを判定します。
* @param {判定対象の文字列} szStr
* @param {テキストの説明} errMsg
* @return {正当な場合は true を返します。それ以外の場合は false を返します}
*/
function _isValidString(szStr,errMsg) {
voidChar = "'"><`~!@#$%^&()( )!¥……??“””*”;
for (var i = 0; i aChar = voidChar.substring(i, i 1);
if (szStr.indexOf(aChar) > -1){
alert(errMsg)
return false;
}
}
return
}
/*************** 次のメソッドはドロップダウン メニューに関連します*************************** *******************/
/**
* コントロールのドロップダウン メニューを -1 にすることはできません (選択されていない場合は値 = -1)
* @param {ドロップダウン メニュー ID} selectId
* @param {ドロップダウン メニューの説明の内容} msg
* @ param {ドロップダウン メニューの null 値に対応する値、デフォルトは -1} nullValue
* @return {Boolean}
*/
function checkChooseSelect(selectId, msg ,nullValue) {
var obj = $(selectId); value == notNull(nullValue,'-1')) {
alert('[' msg '] 必須!');
return false; else
return true;
}
/**
* ドロップダウン メニューの表示テキストを取得します。
* @param {ドロップダウン メニュー dom オブジェクト} selectObj
* @return {ドロップダウン メニューの表示テキストを返します}
*/
function getSelectText(selectObj) {
return selectObj.options[selectObj.selectedIndex].text;
/**
* ドロップダウン メニューの表示値を取得します。
* @param {ドロップダウン メニュー dom オブジェクト} selectObj
* @return {ドロップダウン メニューの表示された「値」を取得します。
*/
function getSelectValue(selectObj) {
return selectObj.options[selectObj.selectedIndex].value;
/**
* ドロップダウン メニューの選択状態を指定した値に設定します。
* @param {ドロップダウン メニュー オブジェクト} obj
* @param {選択される値} value
*/
function setSelectValue(obj, value) {
/*for (i = obj.options.length - 1; i >= 0; i--) {
if (obj.options[i] .value == 値) {
obj.options[i].selected = true;
}
}
*/
obj.value= 値;
}
/**
* キーと値の文字列の内容に基づいてドロップダウン メニューを動的に組み立てます
* @param {ドロップダウン メニュー用に組み立てられる DOM オブジェクト} obj
* @param {Key-値のペアは and; で除算されます。例: '1, Male;2, Female; 3,Unknown'} valAndText
*/
function setSelectContent(obj,valAndText){
if(trim(valAndText)==''){
alert('没有要进行構成下拉菜单のデータ!');
false を返します。
}
clearSelect(obj);
var keyandvalues = valAndText.split(';');
for(var i=0;ivar arr = keyandvalues[i].split(',');
if(arr){
var 値 =arr[0];
var text =arr[1];
var objOption = 新しいオプション(テキスト,値);
obj.add(objOption);
}
}
}
/**
* ドロップダウン メニューの内容をクリアします。
* @param {ドロップダウン メニュー オブジェクト} obj
*/
function clearSelect(obj) {
for (var i=obj.options.length; i >0 ; i--) {
obj.remove(0);
}
}
/*************** 次のメソッドは複数選択ボックスに関連します************************** **** *******************/
/**
* 選択したチェックの ID をカンマで区切った文字列を返します。
* @param {checks array} checks
* @return 選択した ID で構成される文字列
*/
function getCheckedIds(checks){
var selectedValue = '';
var len = checks.length;
for(varindex=0;indexif(checks[index].checked==true) {
selectedValue = checks[index].value ",";
}
}
if(selectedValue.length>0)
return selectedValue.substring(0,selectedValue.length-1);
選択された値を返します;
}


上の js を保存した後、下の html を使用して検査を実行します:



复制代

代码如下: