Home >Web Front-end >JS Tutorial >A complete collection of javascript basic knowledge for everyone to learn and for me to check myself_javascript skills

A complete collection of javascript basic knowledge for everyone to learn and for me to check myself_javascript skills

WBOY
WBOYOriginal
2016-05-16 17:50:461125browse

1.javascript array API

Copy code The code is as follows:

//Define array
var pageIds = new Array();
pageIds.push('A');
Array length
pageIds.length;
//shift: delete the first item of the original array and return to delete The value of the element; if the array is empty, undefined is returned
var a = [1,2,3,4,5];
var b = a.shift(); //a: [2,3, 4,5] b: 1
//unshift: Add parameters to the beginning of the original array and return the length of the array
var a = [1,2,3,4,5];
var b = a.unshift(-2,-1); //a: [-2,-1,1,2,3,4,5] b: 7
//Note: Test return under IE6.0 The value is always undefined, and the test return value under FF2.0 is 7, so the return value of this method is unreliable. When the return value is needed, splice can be used instead of this method.
//pop: Delete the last item of the original array and return the value of the deleted element; if the array is empty, return undefined
var a = [1,2,3,4,5];
var b = a.pop(); //a: [1,2,3,4] b: 5
//push: Add parameters to the end of the original array and return the length of the array
var a = [1,2,3,4,5];
var b = a.push(6,7); //a: [1,2,3,4,5,6,7] b: 7
//concat: Returns a new array, which is formed by adding parameters to the original array
var a = [1,2,3,4,5];
var b = a.concat(6 ,7); //a: [1,2,3,4,5] b: [1,2,3,4,5,6,7]
//splice(start,deleteCount,val1,val2 ,): Delete the deleteCount item from the start position and insert val1, val2 from this position,
var a = [1,2,3,4,5];
var b = a.splice(2 ,2,7,8,9); //a:[1,2,7,8,9,5] b:[3,4]
var b = a.splice(0,1); / /Same as shift
a.splice(0,0,-2,-1); var b = a.length; //Same as unshift
var b = a.splice(a.length-1,1) ; //Same as pop
a.splice(a.length,0,6,7); var b = a.length; //Same as push
//reverse: reverse the order of the array
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): Sort the array according to the specified parameters
var a = [1,2,3,4,5];
var b = a.sort() ; //a: [1,2,3,4,5] b: [1,2,3,4,5]
//slice(start,end): Returns the starting subscript specified in the original array A new array composed of items between the end subscript
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): Combine the elements of the array into a string, using separator as the separator. If omitted, the default will be used Use commas as separators
var a = [1,2,3,4,5];
var b = a.join("|"); //a: [1,2,3,4 ,5] b: "1|2|3|4|5"

2.dom’s most commonly used API
Copy code The code is as follows:

document method:
getElementById(id) Node returns a reference to the specified node
getElementsByTagName(name) NodeList returns all matching elements in the document Collection of elements
createElement(name) Node Node
createTextNode(text) Node creates a plain text node
ownerDocument Document points to the document to which this node belongs
documentElement Node returns the html node
document. body Node Returns the body node
element method:
getAttribute(attributeName) String Returns the value of the specified attribute
setAttribute(attributeName,value) String Assigns a value to the attribute
removeAttribute(attributeName) String Removes the specified attribute and Its value
getElementsByTagName(name) NodeList returns a collection of all matching elements in the node
node method:
appendChild(child) Node adds a new child node to the specified node
removeChild (child) Node removes the child node of the specified node
replaceChild(newChild,oldChild) Node replaces the child node of the specified node
insertBefore(newChild,refChild) Node inserts a new node in front of the node at the same level Node
hasChildNodes() Boolean returns true if the node has child nodes
node attribute:
nodeName String stores the name of the node in string format
nodeType String in integer data format Type of storage node
nodeValue String Stores the value of the node in a usable format
parentNode Node A reference pointing to the parent node of the node
childNodes NodeList A collection of references pointing to child nodes
firstChild Node points to the reference of the first child node in the combination of child nodes
lastChild Node points to the reference of the last child node in the combination of child nodes
previousSibling Node points to the previous sibling node; if this node is sibling node, then the value is null
nextSibling Node points to the next sibling node; if this node is a sibling node, then the value is null

3. A map object collected online:
Copy code The code is as follows:

함수 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 < value.length ; 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==undefine){
//스택의 최상위 포인터와 데이터 저장 영역을 초기화합니다
this.top=0
this; .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
var outStr=""; 🎜>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() //현재 시간을 선언합니다. system
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.getFullYear() //전체 연도(4자리) 가져오기 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.setDate(myDate.getDate() 10); //현재 시간 + 10일
//유사한 방법은 set부터 시작하며, 자세한 내용은 다음을 참조하세요. 포인트 2
4. 두 날짜의 오프셋을 계산합니다. Amount
var i = daysBetween(beginDate,endDate); //일수 반환
var i = BeginDate.getTimezoneOffset(endDate); 분
5. 유효한 날짜를 확인하세요
//checkDate () "mm-dd-yyyy" 또는 "mm/dd/yyyy" 두 가지 형식의 날짜만 허용합니다
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(String)
1. 명령문
var myString = new String("Every good boy does 괜찮습니다.")
var myString = "Every good boy does 괜찮습니다." ";
2. 문자열 연결
var myString = "Every " "good boy " "does good.";
var myString = "Every "; myString = "good boy does 괜찮습니다.";
3. 문자열 가로채기
//6번째 위치부터 문자 가로채기
var myString = "Every good boy does good."
var section = myString.substring(6); : "good boy does good."
//숫자 0부터 숫자 10까지의 문자를 가로챕니다.
var myString = "Every good boy does 괜찮습니다."
var section = myString.substring( 0, 10); //결과: "Every good"
//아래에서 11번째부터 6번째까지의 문자를 가로챕니다.
var myString = "Every good boy does 벌금."
var section = myString .slice(11,-6); //결과: "boy does"
//6번째 위치부터 길이가 4인 문자를 자릅니다.
var myString = "Every good boy does 괜찮습니다." 🎜>var section = myString.substr(6,4); //결과: "good"
4. 대소문자 변환
var myString = "Hello"
var lcString = myString.toLowerCase(); //결과: "hello"
var ucString = myString.toUpperCase(); //결과: "HELLO"
5. 문자열 비교
var aString = "Hello!" >var bString = new String("안녕하세요!");
if( aString == "안녕하세요!" ){ } //결과: true
if( aString == bString ){ } //결과: true
if ( aString === bString ){ } //결과: false(두 객체는 ​​서로 다르지만 값은 동일함)
6. 문자열 검색
var myString = "안녕하세요 여러분. ";
// 검색할 수 없으면 -1을 반환합니다. 검색하면 문자열
if( myString.indexOf("every") > -1의 시작 위치를 반환합니다. ){ } //결과: true
7. 문자열 찾기 및 바꾸기
var myString = "I is your father."
var result = myString.replace("is","am"); ​​//결과: "I am your father."
8. 특수문자:
b: 뒤로 문자 t: 가로 탭 문자
n: 줄바꿈 문자 v: 세로 탭 문자
f : 페이지 나누기 r: 캐리지 리턴 문자
" : 큰따옴표 ' : 작은따옴표
\ : 백슬래시
9. 문자를 유니코드 인코딩으로 변환
var myString = "hello";
var code = myString.charCodeAt( 3); //"l"(정수 유형)의 유니코드 인코딩을 반환합니다.
var char = String.fromCharCode(66); //유니코드 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로 나눈 몫의 아크탄젠트를 반환합니다.
6. 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): num1을 반환 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: 로그 2를 밑으로 하는 자연수 (1.4426950408889634)
23.Math.LOG10E: 로그 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. 속성
//객체, 메서드 또는 속성이 정의되지 않은 경우 이러한 특수 값은 false입니다.
if( document.images ){ }
if( document.getElementById ){ }
5. 브라우저의 현재 언어를 확인하세요
if( navigator.userLanguage ){ var l = navigator.userLanguage.toUpperCase() }
6. >if (navigator.cookieEnabled){ }


10. JavaScript 객체지향 메서드 구현 상속: 메서드 호출


function Animal(bSex){
this.sex = bSex
this.getSex = function(){
return this.sex
}
}
//클래스 정적 변수(수정하지 않으면~~)
animal.SEX_G = new Object(); // 여성
동물.SEX_B = new Object(); // 남성
// 동물 하위 클래스 새
function Bird(bSex){
animal.call(this, bSex)
this.fly = function (iSpeed){
alert("비행 속도 최대" iSpeed)
}
}
// 동물 하위 카테고리 물고기
function fish(bSex){
animal.call( this, bSex);
this.swim = function(iSpeed){
alert("iSpeed까지 수영 속도)
}
}
// 물고기-새 하이브리드. . .
function crossBF(bSex){
bird.call(this, bSex);
fish.call(this, bSex)
}
var oPet = new crossBF(animal.SEX_G) ; // 암컷 물고기 새
alert(oPet.getSex() == Animal.SEX_G ? "female" : "male")
oPet.fly(124)
oPet.swim(254)


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 = "}";
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 {original string} str
* @return {공백 제거 후 문자열}
*/
함수 다듬기(str)
{
return str.replace(/(^s*)|(s*$)/g, "");
}
/**
* id를 기준으로 요소를 가져옵니다.
* @param {element id value} str
* @return {dom object}
*/
function $(str) {
return document.getElementById(str);
}
/**
* 이름으로 객체를 가져옵니다.
* @param {요소 이름 값} str
* @return {이름에 따라 반환된 첫 번째 객체}
*/
function $byName(str) {
var arr = document.getElementsByName(str);
if (arr)
return arr[0];
그렇지 않으면
null을 반환합니다.
}
/*************다음 방법은 양식 확인과 관련이 있습니다******************************** * ******************/
/**
* 비어 있지 않은 문자열을 반환합니다. 기본값이 있으면 기본 문자열을 반환합니다.
* @param {변환할 원래 문자열} str
* @param {기본값} defaultStr
* @return {반환 결과}
*/
function notNull(str, defaultStr) {
if (typeof(str) == "정의되지 않음 " || str == null || str == '') {
if (defaultStr)
return defaultStr;
그렇지 않으면
''를 반환합니다.
} else {
str을 반환;
}
}
/**
* 두 날짜의 크기를 비교합니다.
* @param {작은 날짜의 텍스트 상자 ID} smallDate
* @param {큰 날짜의 텍스트 상자 ID} bigDate
* @param {오류 프롬프트 메시지} msg
*/
function CompareTwoDate(smallDate, bigDate, msg) {
var v1 = $(smallDate).value;
var v2 = $(bigDate).value;
if (v1 >= v2) {
경고(msg);
v2.focus();
거짓을 반환합니다.
}
true를 반환합니다.
}
/**
* 두 금액을 비교하는 방법
* @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();
거짓을 반환합니다.
}
true를 반환합니다.
}
/**
* 텍스트 상자의 길이가 지정된 길이를 초과하는지 확인하세요.
* @param {text 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;
}
/**
* Determine whether a text box cannot be empty.
* @param {text box id} textId
* @param {text box description content} msg
* @return {return false if there is an error , otherwise return true}
*/
function checkIfEmpty( textId, msg) {
var textObj = $(textId);
var textValue = textObj.value;
if (trim(textValue) == '') {
alert('[' msg '] must not be empty! ');
textObj.focus();
return false;
} else {
return true;
}
}
/**
* Determine that the content of the specified text box must be an email.
* @param {text box id} textId
* @param {text box description} msg
* @return {If it is an email content, return true otherwise return false}
*/
function checkIsMail(textId, msg) {
var obj = $(textId);
if (!_isEmail(obj.value)) {
alert('[' msg '] is not a valid email address! ');
obj.focus();
return false;
} else
return true;
}
/**
* Verify whether it is an email.
* @param {String to be verified} strEmail
* @return {Boolean}
*/
function _isEmail(strEmail) {
//The next verification is whether there are more than two '.' numbers. If there are, it is wrong!
var first = strEmail.indexOf('. ');
if (strEmail.indexOf('@')== -1) {
return false;
}
var tempStr = strEmail.substring(first 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;
}
/**
* Determine whether a text box is numeric.
* @param {text box id} textId
* @param {text box description content} msg
* @return {Boolean}
*/
function checkIsNum(textId, msg) {
obj = $(textId) ;
if (isNaN(obj.value)) {
alert('[' msg '] must be a number. ');
obj.focus();
return false;
} else
return true;
}
/**
* Determine whether a text box contains illegal characters.
* @param {id of the text box} textId
* @param {content of the text box description} msg
* @return {If there is an error, Return false otherwise return true}
*/
function checkIsValid( textId, msg) {
obj = $(textId);
if (!_isValidString(obj.value, '[' msg '] must not contain illegal characters.')) {
obj.focus();
거짓을 반환합니다.
}
true를 반환합니다.
}
/**
* 적법한 문자열인지 판단
* @param {판단할 문자열} szStr
* @param {텍스트 설명} errMsg
* @return {합법이면 true를 반환하고, 그렇지 않으면 false를 반환}
*/
function _isValidString(szStr,errMsg) {
voidChar = "'"><`~!@#$%^&()( )!엔……??“”''*";
for (var i = 0; i < voidChar.length; 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)
if (obj. value == notNull(nullValue,'-1')) {
alert('[' msg ']必选!')
obj.focus()
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 {drop-down menu object} obj
* @param {선택할 값} value
*/
function setSelectValue(obj, value) {
/*for (i = obj.options.length - 1; i >= 0; i--) {
if (obj.options[i] .value == value) {
obj.options[i].selected = true;
return;
}
}
*/
obj.value= value;
}
/**
* 키-값 문자열의 내용을 기반으로 드롭다운 메뉴를 동적으로 조합합니다.
* @param {드롭다운 메뉴에 대해 조합할 DOM 개체} obj
* @param {Key- 값 쌍은 and;로 나뉩니다(예: '1,Male;2, Female;3,Unknown') valAndText
*/
function setSelectContent(obj,valAndText){
if(trim(valAndText)==''){
alert('没有要进行组装下拉菜单的数据!');
거짓을 반환합니다.
}
clearSelect(obj);
var keyandvalues ​​= valAndText.split(';');
for(var i=0;ivar arr = keyandvalues[i].split(',');
if(arr){
var value =arr[0];
var text =arr[1];
var objOption = new Option(text,value);
obj.add(objOption);
}
}
}
/**
* 드롭다운 메뉴의 내용을 지웁니다.
* @param {드롭다운 메뉴 개체} obj
*/
function clearSelect(obj) {
for (var i=obj.options.length; i >0 ; i--) {
obj.remove(0);
}
}
/*************** 다중 선택 상자와 관련된 방법은 다음과 같습니다************************** **** *******************/
/**
* 선택한 검사의 ID로 구성된 문자열을 쉼표로 구분하여 반환합니다.
* @param {checks array} 검사
* @return 선택한 ID로 구성된 문자열
*/
function getCheckedIds(checks){
var selectedValue = '';
var len = checks.length;
for(var index=0; indexif(checks[index].checked==true) {
selectedValue = checks[index].value ",";
}
}
if(selectedValue.length>0)
return selectedValue.substring(0,selectedValue.length-1);
선택된 값을 반환합니다.
}


将上面的js保存之后,使用下面的html进行测试:


复代代码 代码如下:





<테이블>


:


checkIfEmpty('a','non-empty check')
< /td>


이메일:



checkIsMail('b','이메일 확인')


🎜>checkIsNum('c','Number check')


🎜>

checkIsValid(' d' ,'유효성 확인')



<입력 ID= 'e' value='2010-1-1'>
큰 날짜:


compareTwoDate('e','f','작은 날짜와 큰 날짜의 관계가 잘못되었습니다!')
tr>


작은 숫자:
;input id='l' value='4564'>

compareTwoNum('k','l','크기와 숫자는 관련이 없습니다. 맞습니다!')



문자 길이 확인(<5) ;입력 ID='g'>

checkLength('g',5,'length check')
>


드롭다운 메뉴가 비어 있지 않은지 확인:
option value='-1'>


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn