다음은 자주 사용하는 JS 검증 및 기능입니다. 일부 검증은 객체의 속성에 직접 작성했으며 객체를 통해 직접 호출 할 수 있습니다.
코드 사본은 다음과 같습니다.
// 플로팅 포인트 디비전 작업
함수 fdiv (a, b, n) {
if (n == 정의되지 않은) {n = 2; }
var T1 = 0, T2 = 0, R1, R2;
try {t1 = a.tostring (). split ( ".") [1] .length} catch (e) {}
try {t2 = b.toString (). split ( ".") [1] .length} catch (e) {}
(수학) {
r1 = 숫자 (a.toString (). 교체 ( ".", "");
r2 = 숫자 (b.toString (). 교체 ( ".", "");
return ((r1 / r2) * pow (10, t2 -t1)). tofixed (n);
}
}
코드 사본은 다음과 같습니다.
// 부동 소수점 곱셈 작업
함수 fmul (a, b, n) {
if (n == 정의되지 않은) {n = 2; }
var m = 0, s1 = a.tostring (), s2 = b.toString ();
{m += s1.split ( ".") [1] .length} catch (e) {} 시도하십시오.
{m += s2.split ( ".") [1] .length} catch (e) {} 시도하십시오.
return (number (s1.replace ( ".", "") * 번호 (s2.replace ( ".", "") / math.pow (10, m)). tofixed (n);
}
코드 사본은 다음과 같습니다.
// 부동 소수점 번호 추가 작업
함수 faadd (a, b, n) {
if (n == 정의되지 않은) {n = 2; }
var r1, r2, m;
try {r1 = a.tostring (). split ( ".") [1] .length} catch (e) {r1 = 0}
try {r2 = b.tostring (). split ( ".") [1] .length} catch (e) {r2 = 0}
m = math.pow (10, math.max (R1, R2))
return ((a * m + b * m) / m) .tofixed (n);
}
코드 사본은 다음과 같습니다.
// 플로팅 포인트 번호 감산 작업
함수 fsub (a, b, n) {
if (n == 정의되지 않은) {n = 2; }
var r1, r2, m;
try {r1 = a.tostring (). split ( ".") [1] .length} catch (e) {r1 = 0}
try {r2 = b.tostring (). split ( ".") [1] .length} catch (e) {r2 = 0}
m = math.pow (10, math.max (r1, r2));
// 동적 제어 정확도 길이
// n = (r1> = r2)? R1 : R2;
return ((a * m -b * m) / m) .tofixed (n);
}
번호 .prototype.add = function (arg) {
반환 fadd (this, arg);
}
숫자.prototype.subs = function (arg) {
반환 fsub (this, arg);
}
번호 .prototype.mul = function (arg) {
반환 fmul (this, arg);
}
번호 .prototype.div = function (arg) {
반환 fdiv (this, arg);
}
코드 사본은 다음과 같습니다.
/// 숫자 수를 형식화하고 불충분 한 숫자 수는 기본적으로 0입니다. 매개 변수 2가 지정되고 파라미터 2의 값이 1이면 파라미터 2가 지정되면 오른쪽은 0 x 0입니다.
번호 .prototype.formatlen = function (len, direct) {
var d = parseint (직접);
if (isnan (d)) {d = 0; }
var num = this.toString ();
if (num.length <len) {
for (var i = num.length; i <len; i ++) {
if (d == 0) {
num = "0" + num;
}
또 다른 {
num += "0";
}
}
}
Num 리턴;
}
코드 사본은 다음과 같습니다.
// 소수점 이하 자리를 형식화하면, 라운드 여부와
숫자 .prototype.formatradix = function (len, isround) {
var num = this.toString ();
var numarr = num.split ( '.');
var rad = 0;
var numpart = parseint (numarr [0]);
if (numarr.length> = 2) {
if (numarr [1] .length <len) {
rad = parseint (numarr [1]). Formatlen (Len, 1);
}
또 다른 {
if (numarr [1] .length == len) {
rad = numarr [1];
}
또 다른 {
rad = numarr [1] .substr (0, len);
if (isround) {
var d = parseint (numarr [1] .substr (len, 1));
if (d> = 5) {rad += 1; if (rad.tostring (). length> len) {numpart += 1; rad = rad.tostring (). substr (1, len); }}
}
}
}
}
또 다른 {
rad = rad.formatlen (Len);
}
Numpart + "를 반환합니다." + rad;
}
코드 사본은 다음과 같습니다.
// 문자열 분할의 동일한 요소가 문자열 분리기인지 여부를 감지합니다. 분리기가 지정되면 문자열 구분 기호의 중복이 있는지 결정됩니다. 지정되지 않은 경우 단일 문자열의 복제가 있는지 여부가 결정됩니다.
// 복제본이 있으면 true를 반환합니다
String.prototype.compareelement = function (s) {
var str = this.toString ();
if (s == 정의되지 않은) {
for (var i = 0; i <str.length; i ++) {
for (j = i+1; j <str.length; j ++) {
if (str.substr (i, 1) == str.substr (j, 1)) {
진실을 반환하십시오.
}
}
}
}
또 다른 {
var strarr = str.split (s);
for (var i = 0; i <strarr.length; i ++) {
for (var j = i+1; j <strarr.length; j ++) {
if (strarr [i] == strarr [j]) {
진실을 반환하십시오.
}
}
}
}
거짓을 반환합니다.
}
String.prototype.replaceall = function (str, tostr) {
ottr = this;
while (ostr.indexof (str)> -1) {
ostr = ostr.replace (str, tostr);
}
반환 오스트;
}
Array.prototype.comPareElement = function () {
var strarr = this;
for (var i = 0; i <strarr.length; i ++) {
for (var j = i+1; j <strarr.length; j ++) {
if (strarr [i] == strarr [j]) {
진실을 반환하십시오.
}
}
}
거짓을 반환합니다.
}
코드 사본은 다음과 같습니다.
// 문자열은 그룹 수로 변환됩니다. Delimiter S가 지정되지 않으면 구분 기호는 기본적으로 구분됩니다. 구분 기호가 비어 있으면 각 문자는 배열 요소로 사용됩니다.
string.prototype.toArray = function (s) {
if (s == undefined) {s = ","; }
var strarr = [];
strarr = this.split (s);
Return Strarr;
}
코드 사본은 다음과 같습니다.
// 배열을 문자열로 변환하고 모든 요소가 지정된 구분기를 사용하여 연결되고 기본값은
Array.prototype.ToidList = 함수 (S) {
if (s == undefined) {s = ","; }
var list = "";
for (var i = 0; i <this.length; i ++) {
list + = (list == ""? this [i] : s + "" + this [i]);
}
반환 목록;
}
코드 사본은 다음과 같습니다.
// 지정된 요소의 위치 색인을 가져 오면 요소가 존재하지 않고 -1을 반환합니다.
Array.prototype.getIndex = function (s) {
var index = -1;
for (var i = 0; i <this.length; i ++) {
if ((s + "") == this [i]) {
색인 = i;
}
}
리턴 인덱스;
}
코드 사본은 다음과 같습니다.
// 배열에서 지정된 요소를 제거합니다
Array.prototype.remove = function (s) {
var list = "";
for (var i = 0; i <this.length; i ++) {
if (s! = this [i]) {
list + = (list == ""? this [i] : "," + this [i]);
}
}
return list.toArray ();
}
코드 사본은 다음과 같습니다.
/// 배열을 숫자로 정렬하여 ASC를 정렬할지 여부를 지정합니다. 오름차순 순서로 지정되지 않은 사실 또는 거짓일 수 있습니다.
Array.prototype.sortbyNumber = function (ASC) {
if (asc == undefined) {asc = true; }
if (asc) {
return.sort (sortnumberasc);
}
또 다른 {
return.sort (SortnumberDesc);
}
}
Array.prototype.inarray = function (e) {
var isin = false;
for (var i = 0; i <this.length; i ++) {
if (this [i] == (e + "")) {
isin = 참이고;
}
}
귀환 Isin;
}
String.prototype.trim = 함수 {return trim (this, s); }
String.prototype.ltrim = 함수 (s) {return ltrim (this, s); }
String.prototype.rtrim = 함수 {return rtrim (this, s); }
// 배열에서 내림차순 순서로 숫자를 정렬하려면 sortByNumer
함수 SortNumberDesc (a, b) {
반환 b- a;
}
// array.sortbynumer와 함께 배열로 오름차순 순서로 숫자를 정렬하려면 sortbynumer
함수 sortnumberasc (a, b) {
반환 a -b;
}
// 이것은 독립적 인 기능입니다
함수 ltrim (str, s) {
if (s == undefined) {s = ""; }
if (str == s && s! = "") {return s; }
var i;
for (i = 0; i <str.length; i ++) {
if (str.charat (i)! = s && str.charat (i)! = s) break;
}
str = str.substring (i, str.length);
Return str;
}
함수 rtrim (str, s) {
var i;
if (str == s && s! = "") {return s; }
if (s == undefined) {s = ""; }
for (i = str.length-1; i> = 0; i-) {
if (str.charat (i)! = s && str.charat (i)! = s) break;
}
str = str.substring (0, i + 1);
Return str;
}
기능 트림 (str, s) {
리턴 ltrim (rtrim (str, s), s);
}
코드 사본은 다음과 같습니다.
/// 문자열이 중국어, 영어, 숫자 및 밑줄로 구성되어 있는지 여부
함수 chknickname (str) {
var pattern =/^[/w/u4e00-/u9fa5]+$/gi;
if (pattern.test (str)) {
진실을 반환하십시오.
}
거짓을 반환합니다.
}
코드 사본은 다음과 같습니다.
// 판사 길이 (길이는 0으로 제한되지 않음)
String.prototype.islen = function () {
var isrightformat = false;
var minnum = 인수 [0]? 인수 [0] : 0;
var maxnum = 인수 [1]? 인수 [1] : 0;
isrightformat = (minnum == 0 && maxnum == 0? true : (calculate_byte (this)> = minnum && calmital_byte (this) <= maxnum? true : false);
isrightformat 리턴;
}
코드 사본은 다음과 같습니다.
// 문자열이 문자 +번호 +_ +인지 확인하십시오.
String.prototype.isstr = function () {
var myreg =/^[0-9a-za-z/-/_]+$/;
if (myreg.test (this)) true를 반환합니다.
거짓을 반환합니다.
}
코드 사본은 다음과 같습니다.
// 사용자 이름을 확인합니다
String.prototype.isusername = function () {
var myreg =/^[0-9a-za-z/-/_] {3,50} $/;
if (myreg.test (this)) true를 반환합니다.
거짓을 반환합니다.
}
코드 사본은 다음과 같습니다.
// 비밀번호를 확인합니다
String.prototype.ispassword = function () {
var myreg =/^[0-9a-za-z` ~!@#$%^&*() -_+=/{/}/[/]/;/:/"/'/? ///] {6,} $/;
if (myreg.test (this)) true를 반환합니다.
거짓을 반환합니다.
}
코드 사본은 다음과 같습니다.
// 글자인지 확인하십시오
String.prototype.isen = function () {
var myreg = /^[a-za-z]+$ /;
if (myreg.test (this)) true를 반환합니다.
거짓을 반환합니다.
}
코드 사본은 다음과 같습니다.
// 중국어인지 확인하십시오
String.prototype.iscn = function () {
var myreg =/^[/u0391-/uffe5]+$/;
if (myreg.test (this)) true를 반환합니다.
거짓을 반환합니다.
}
코드 사본은 다음과 같습니다.
// 이메일을 확인하십시오
String.prototype.isemail = function () {
var var var var var var var var var var var myreg =/여 (/w-/-] +)@(/ 0-9] {1,3 }/...19] {1,3 }/...............(/w- and reme) {0) {2,4} {0-9}))))).
if (myreg.test (this)) true를 반환합니다.
거짓을 반환합니다.
}
코드 사본은 다음과 같습니다.
// MSN을 확인합니다
String.prototype.ismsn = function () {
var var var var var var var var var var var myreg =/여 (/w-/-] +)@(/ 0-9] {1,3 }/...19] {1,3 }/...............(/w- and reme) {0) {2,4} {0-9}))))).
if (myreg.test (this)) true를 반환합니다.
거짓을 반환합니다.
}
코드 사본은 다음과 같습니다.
// QQ 번호를 확인합니다
String.prototype.isqq = function () {
var myreg =/^[1-9]/d {4,10} $/;
if (myreg.test (this)) true를 반환합니다.
거짓을 반환합니다.
}
코드 사본은 다음과 같습니다.
// URL을 확인하십시오
string.prototype.ishttpurl = function () {
var myReg = /^http:///4-za-z0-9 걸야] +/.
if (myreg.test (this)) true를 반환합니다.
거짓을 반환합니다.
}
코드 사본은 다음과 같습니다.
// 도메인 이름을 확인합니다
String.prototype.isdomainName = function () {
var myReg = /^] 0-9a-za-Z] (0-9A-Za-Z/-] +/.) {1,3}} {2,4 }?$/;
if (myreg.test (this)) true를 반환합니다.
거짓을 반환합니다.
}
코드 사본은 다음과 같습니다.
// IPv4 주소를 확인합니다
String.prototype.isipv4 = function () {
var myReg = /^(2헤 {2} |1?he는 {1,2 }).(2, 5] {2 }|1?heme {1,2 }).(2============} {2 }|1?heme {1,2 }).
if (myreg.test (this)) true를 반환합니다.
거짓을 반환합니다.
}
코드 사본은 다음과 같습니다.
// 이미지 주소 확인 (CGI에 의해 동적으로 생성 된 이미지는 지원되지 않음)
String.prototype.isimgurl = function () {
var myreg = /^/.(jpeg| jpg|gif|bmp|png|pcx|tiff|tga|lwf)$/;
if (myreg.test (this)) true를 반환합니다.
거짓을 반환합니다.
}
코드 사본은 다음과 같습니다.
// 휴대 전화 번호를 확인합니다
String.prototype.iscellphone = function () {
var myreg =/^(/(/(/d {3}/)) | (/d {3}/-))? 1 [3,5]/d {9} $/;
if (myreg.test (this)) true를 반환합니다.
거짓을 반환합니다.
}
코드 사본은 다음과 같습니다.
// 유선 전화를 확인하십시오
String.prototype.isphone = function () {
var myreg =/^[+] {0,1} (/d) {1,3} []? (-]? (((/d) | [])) {1,12})+$/;
if (myreg.test (this)) true를 반환합니다.
거짓을 반환합니다.
}
코드 사본은 다음과 같습니다.
// 우편 번호를 확인합니다
String.prototype.iszipcode = function () {
var myreg = /[0-9] {6} /;
if (myreg.test (this)) true를 반환합니다.
거짓을 반환합니다.
}
코드 사본은 다음과 같습니다.
// ID 번호를 확인합니다
String.prototype.isidcard = function () {
var myreg =/(^([/d] {15} | [/d] {18} | [/d] {17} [xx] {1}) $)/;
if (myreg.test (this)) true를 반환합니다.
거짓을 반환합니다.
}
코드 사본은 다음과 같습니다.
// 날짜 형식 확인 YY-MM-DD
String.prototype.isdateformat = function () {
var myreg = /^[0-9] {4}-[0-9] {1,2}-[0-9] {1,2} $ /;
if (myreg.test (this)) true를 반환합니다.
거짓을 반환합니다.
}
코드 사본은 다음과 같습니다.
// 시간 형식 확인 HH : MM : SS
String.prototype.israngetime = function () {
var myreg =/^(/d {2}) : (/d {2}) : (/d {2}) $/;
if (myreg.test (this)) true를 반환합니다.
거짓을 반환합니다.
}
코드 사본은 다음과 같습니다.
// 금액 형식을 확인합니다
String.prototype.ismoney = function () {
var myReg = /^ ~ 9] {1,8} 9] {0,1}}} {0,6 }$/;
if (myreg.test (this)) true를 반환합니다.
거짓을 반환합니다.
}
코드 사본은 다음과 같습니다.
// 단어 숫자 형식을 확인하고 숫자의 주변 환경을 판단합니다 (최소 : 최소값; 최대 : 최대 값).
String.prototype.isint = function () {
var isrightformat = false;
var minnum = 인수 [0]? 인수 [0] : 0;
var maxnum = 인수 [1]? 인수 [1] : 0;
var myreg =/^[-/+]?/d+$/;
if (myreg.test (this)) {
isrightformat = (minnum == 0 && maxnum == 0? true : (this> minnum && this <maxnum? true : false));
}
isrightformat 리턴;
}
코드 사본은 다음과 같습니다.
// 검색 키워드를 확인합니다
String.prototype.issearch = function () {
var myreg = /^] /../`/'<>
if (myreg.test (this)) false를 반환합니다.
진실을 반환하십시오.
}
코드 사본은 다음과 같습니다.
// JS는 문자열 길이를 정확하게 계산합니다
함수 calculate_byte (stargetstr) {
VAR STMPSTR, STMPCHAR;
var noriginlen = 0;
var nstrlength = 0;
stmpstr = 새 문자열 (stargetstr);
noriginlen = stmpstr.length;
for (var i = 0; i <noriginlen; i ++) {
stmpchar = stmpst.charat (i);
if (Escape (stmpchar) .length> 4) {
nstrlength += 2;
} else if (stmpchar! = '/r') {
nstrlength ++;
}
}
nstrlength를 반환합니다.
}
코드 사본은 다음과 같습니다.
// 색상 값;
String.prototype.iscolor = function () {
var s = 인수 [0]? 인수 [0] : "";
s = s.trim ();
if (s.length! = 7) false를 반환합니다.
s.search (//#[a-fa-f0-9] {6}/)! = -1;
}
코드 사본은 다음과 같습니다.
// JS 날짜 형식
date.prototype.format = function (format) {
var o = {
"m +": this.getmonth () + 1, // 월
"d+": this.getDate (), // day
"H+": this.gethours (), // 시간
"m+": this.getMinutes (), // 분
"s+": this.getSeconds (), // 두 번째
"Q +": Math.floor ((this.getMonth () + 3) /3), // 쿼터
"S": this.getMilliseconds () // millisecond
}
if (/( y+)/.test(format)) {
format = format.replace (regexp. $ 1, (this.getsyear () + "") .substr (4 -regexp. $ 1.length));
}
for (var k in o) {
if (new regexp ( "("( " + k +")) "). test (format)) {
format = format.replace (regexp. $ 1, regexp. $ 1. length == 1? o [k] : ( "00" + o [k]). substr (( "" + o [k]). 길이);
}
}
반환 형식;
}
기능 해시네스 (값) {
if (/^=/u4e00-/u9fa5] +$/.test(value)) {
진실을 반환하십시오.
}
거짓을 반환합니다.
}
함수 Todate (datest) {
var dstr = dateSt.ToString ();
dateSt = dstr.replaceall ( "-", "/");
새 날짜를 반환합니다 (date.parse (datest));
}
코드 사본은 다음과 같습니다.
// ID 목록입니까?
String.prototype.isidlist = function (s) {
if (s == 정의되지 않은) {
s = ",";
}
var arr = this.split (s);
for (var i = 0; i <arr.length; i ++) {
if (isnan (parseint (arr [i])) {return false; }
}
진실을 반환하십시오.
}
코드 사본은 다음과 같습니다.
// 이벤트에서 트리거 된 객체를 가져옵니다
함수 getEventTarget (e) {
e = e || Window.event;
반환 e.target || e.srcelement;
}
코드는 간단하지만 기능은 매우 실용적입니다. 필요한 경우 참조하십시오.