찾다
웹 프론트엔드JS 튜토리얼모든 사람이 배우고 나 자신이 self_javascript 기술을 확인할 수 있는 javascript 기본 지식의 전체 모음입니다.

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. オンラインで収集されたマップ オブジェクト:


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

함수 HashMap()
{
/**지도 크기 **/
var size = 0;
/**물체 **/
var 항목 = new Object();
/**살다 **/
this.put = 함수(키, 값)
{
if(!this.containsKey(key))
{
크기 ;
}
항목[키] = 값;
}
/**선택하다 **/
this.get = 함수(키)
{
return this.containsKey(키) ? 항목[키] : null;
}
/**삭제 **/
this.remove = function ( key )
{
if( this.containsKey(key) && ( 항목 삭제[key] ) )
{
크기 --;
}
}
/**키 포함 여부 **/
this.containsKey = function ( key )
{
return (항목의 키);
}
/**값 포함 여부 **/
this.containsValue = 함수(값)
{
for(항목의 var prop)
{
if(항목 [prop] == 값)
{
true를 반환합니다.
}
}
false를 반환합니다.
}
/**모든 가치 **/
this.values ​​= function ()
{
var value = new Array();
for(항목의 var prop)
{
values.push(entry[prop]);
}
반환 값;
}
/**모든 키 **/
this.keys = function()
{
varkeys = new Array();
for(항목의 var prop)
{
keys.push(prop);
}
반환 키;
}
/**지도 크기 **/
this.size = function ()
{
반환 크기;
}
/* 清공간 */
this.clear = function ()
{
size = 0;
항목 = 새 개체();
}
}
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"));
*/
/**객체를 키로 사용할 수도 있습니다 **/
/*
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 {
//alert(value[i]);
}
*/
/**객체가 Key로 사용되면 해당 객체의 toString() 메서드가 자동으로 호출됩니다. 실제로 String 객체가 Key*로 사용됩니다.*/
/**사용자 정의 객체인 경우 toString() 메서드를 재정의해야 합니다. 그렇지 않으면 다음과 같은 결과가 발생합니다.*/
function MyObject(이름)
{
this.name = 이름;
}
/**
function MyObject(이름)
{
this.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());
/**실행 결과 닉네임 닉네임 크기 = 1 **/
/**toString() 메서드를 재정의하는 객체로 변경하면 효과가 완전히 달라집니다 **/


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

·数字型(숫자)
1.声明
var i = 1;
var i = 새 숫자(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"的字符串,强system转换成32
3.判断是否为有效的数字
var i = 3; var str = "문자열";
if( typeof i == "number" ){ } //true
//某些방법(如:parseInt,parseFloat)会返回一个特殊的值NaN(숫자 아님)
//请注意第2点中的[注意],此方法不完全适合判断一个字符串是否是数字型!!
i = parsInt(str);
if( isNaN(i) ){ }
4.数字型比较
//此知识与[字符串比较]상동
5.small 转整数
var f = 1.5;
var i = Math.round(f); //结果:2 (4舍五入)
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 = parsInt(i,10);
var i =parseInt("11010011",2); //返回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 を使用して検査を実行します:



复制代

代码如下:




성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
JavaScript의 진화 : 현재 동향과 미래 전망JavaScript의 진화 : 현재 동향과 미래 전망Apr 10, 2025 am 09:33 AM

JavaScript의 최신 트렌드에는 Typescript의 Rise, 현대 프레임 워크 및 라이브러리의 인기 및 WebAssembly의 적용이 포함됩니다. 향후 전망은보다 강력한 유형 시스템, 서버 측 JavaScript 개발, 인공 지능 및 기계 학습의 확장, IoT 및 Edge 컴퓨팅의 잠재력을 포함합니다.

Demystifying JavaScript : 그것이하는 일과 중요한 이유Demystifying JavaScript : 그것이하는 일과 중요한 이유Apr 09, 2025 am 12:07 AM

JavaScript는 현대 웹 개발의 초석이며 주요 기능에는 이벤트 중심 프로그래밍, 동적 컨텐츠 생성 및 비동기 프로그래밍이 포함됩니다. 1) 이벤트 중심 프로그래밍을 사용하면 사용자 작업에 따라 웹 페이지가 동적으로 변경 될 수 있습니다. 2) 동적 컨텐츠 생성을 사용하면 조건에 따라 페이지 컨텐츠를 조정할 수 있습니다. 3) 비동기 프로그래밍은 사용자 인터페이스가 차단되지 않도록합니다. JavaScript는 웹 상호 작용, 단일 페이지 응용 프로그램 및 서버 측 개발에 널리 사용되며 사용자 경험 및 크로스 플랫폼 개발의 유연성을 크게 향상시킵니다.

Python 또는 JavaScript가 더 좋습니까?Python 또는 JavaScript가 더 좋습니까?Apr 06, 2025 am 12:14 AM

Python은 데이터 과학 및 기계 학습에 더 적합한 반면 JavaScript는 프론트 엔드 및 풀 스택 개발에 더 적합합니다. 1. Python은 간결한 구문 및 풍부한 라이브러리 생태계로 유명하며 데이터 분석 및 웹 개발에 적합합니다. 2. JavaScript는 프론트 엔드 개발의 핵심입니다. Node.js는 서버 측 프로그래밍을 지원하며 풀 스택 개발에 적합합니다.

JavaScript를 어떻게 설치합니까?JavaScript를 어떻게 설치합니까?Apr 05, 2025 am 12:16 AM

JavaScript는 이미 최신 브라우저에 내장되어 있기 때문에 설치가 필요하지 않습니다. 시작하려면 텍스트 편집기와 브라우저 만 있으면됩니다. 1) 브라우저 환경에서 태그를 통해 HTML 파일을 포함하여 실행하십시오. 2) Node.js 환경에서 Node.js를 다운로드하고 설치 한 후 명령 줄을 통해 JavaScript 파일을 실행하십시오.

Quartz에서 작업이 시작되기 전에 알림을 보내는 방법은 무엇입니까?Quartz에서 작업이 시작되기 전에 알림을 보내는 방법은 무엇입니까?Apr 04, 2025 pm 09:24 PM

쿼츠 타이머를 사용하여 작업을 예약 할 때 미리 쿼츠에서 작업 알림을 보내는 방법 작업의 실행 시간은 CRON 표현식에 의해 설정됩니다. 지금...

JavaScript에서 생성자의 프로토 타입 체인에서 함수의 매개 변수를 얻는 방법은 무엇입니까?JavaScript에서 생성자의 프로토 타입 체인에서 함수의 매개 변수를 얻는 방법은 무엇입니까?Apr 04, 2025 pm 09:21 PM

JavaScript 프로그래밍에서 JavaScript의 프로토 타입 체인에서 함수 매개 변수를 얻는 방법 프로토 타입 체인의 기능 매개 변수를 이해하고 조작하는 방법은 일반적이고 중요한 작업입니다 ...

Wechat Mini 프로그램 웹 뷰에서 Vue.js 동적 스타일 변위가 실패한 이유는 무엇입니까?Wechat Mini 프로그램 웹 뷰에서 Vue.js 동적 스타일 변위가 실패한 이유는 무엇입니까?Apr 04, 2025 pm 09:18 PM

WeChat 애플릿 웹 뷰에서 vue.js를 사용하는 동적 스타일 변위 실패가 vue.js를 사용하는 이유를 분석합니다.

TamperMonkey에서 여러 링크에 대한 동시 GET 요청을 구현하고 순서대로 반환 결과를 결정하는 방법은 무엇입니까?TamperMonkey에서 여러 링크에 대한 동시 GET 요청을 구현하고 순서대로 반환 결과를 결정하는 방법은 무엇입니까?Apr 04, 2025 pm 09:15 PM

동시 링크에 대한 요청을 여러 링크와 순서대로 판단하여 결과를 반환하는 방법은 무엇입니까? 탬퍼 몬키 스크립트에서는 종종 여러 체인을 사용해야합니다 ...

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.