다음은 제가 자주 사용하는 JS 검증 및 함수입니다. 일부 검증은 객체의 속성에 직접 작성되며 object.method를 통해 직접 호출할 수 있습니다.
//부동소수점 나눗셈 연산
함수 fdiv(a, b, n) {
If (n == 정의되지 않음) { n = 2 }
var t1 = 0, t2 = 0, r1, r2;
시도해보세요 { t1 = a.toString().split(".")[1].length } catch (e) { }
{ t2 = b.toString().split(".")[1].length } catch (e) { }
을 시도해 보세요.
(수학)으로 {
r1 = Number(a.toString().replace(".", ""));
r2 = Number(b.toString().replace(".", ""));
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(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m)).toFixed(n);
}
//부동소수점 더하기 연산
함수 fadd(a, b, n) {
If (n == 정의되지 않음) { n = 2 }
var r1, r2, m;
{ r1 = a.toString().split(".")[1].length } catch (e) { r1 = 0 }
을 시도해 보세요.
{ 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;
{ r1 = a.toString().split(".")[1].length } catch (e) { r1 = 0 }
을 시도해 보세요.
{ 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);
}
Number.prototype.add = 함수(인수) {
fadd(this, arg)를 반환합니다.
}
Number.prototype.subs = 함수(인수) {
fsub(this, arg)를 반환합니다.
}
Number.prototype.mul = 함수(인수) {
fmul(this, arg)를 반환합니다.
}
Number.prototype.div = 함수(인수) {
fdiv(this, arg)를 반환합니다.
}
///자릿수를 포맷합니다. 자릿수가 부족한 경우 기본적으로 왼쪽에 0이 추가됩니다. 매개변수 2를 지정하고 매개변수 2의 값이 1이면 오른쪽에 0이 추가됩니다.
Number.prototype.FormatLen = 함수(len, 직접) {
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;
}
그 외 {
숫자 = "0";
}
}
}
반환 번호;
}
//소수점 자릿수 형식을 지정하고 소수 자릿수, 반올림 여부 및 기타 매개변수를 지정할 수 있습니다.
Number.prototype.FormatRadix = 함수(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.toString().substr(1, len) }
}
}
}
}
그렇지 않으면 {
rad = rad.FormatLen(len);
}
숫자 부분 "."을 반환합니다.
}
//문자열에 동일한 요소가 있는지 감지합니다. 구분자가 지정되면 구분자로 구분된 문자열이 반복되는지 여부를 판단합니다. 문자열이 반복됩니다
//중복이 있으면 true를 반환
String.prototype.CompareElement = 함수(들) {
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)) {
true를 반환합니다.
}
}
}
}
그렇지 않으면 {
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]) {
true를 반환합니다.
}
}
}
}
거짓을 반환합니다.
}
String.prototype.replaceAll = 함수(str, tostr) {
oStr = 이것;
while (oStr.indexOf(str) > -1) {
oStr = oStr.replace(str, tostr);
}
oStr 반환;
}
Array.prototype.CompareElement = 함수 () {
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]) {
true를 반환합니다.
}
}
}
거짓을 반환합니다.
}
//그룹으로 변환할 문자열 수입니다. 구분 기호 s를 지정하지 않으면 기본적으로 구분 기호가 비어 있으면 각 문자가 배열 요소로 처리됩니다.
String.prototype.ToArray = 함수(들) {
If (s == 정의되지 않음) { s = "," }
var strArr = [];
strArr = this.split(s);
strArr를 반환합니다.
}
//배열을 문자열로 변환합니다. 모든 요소는 지정된 구분 기호를 사용하여 연결됩니다. 기본 구분 기호는
입니다.
Array.prototype.ToIDList = 함수(들) {
If (s == 정의되지 않음) { s = "," }
var 목록 = "";
for (var i = 0; i < this.length; i ) {
list = (list == "" ? this[i] : s "" this[i]);
}
반품 목록;
}
코드 복사 코드는 다음과 같습니다.
//지정된 요소의 위치 인덱스를 가져옵니다. 요소가 없으면 -1을 반환합니다.
Array.prototype.GetIndex = 함수(들) {
var 인덱스 = -1;
for (var i = 0; i < this.length; i ) {
If ((s "") == this[i]) {
인덱스 = i;
}
}
인덱스 반환;
}
//배열에서 지정된 요소를 삭제합니다
Array.prototype.Remove = 함수 {
var 목록 = "";
for (var i = 0; i < this.length; i ) {
If (s != this[i]) {
목록 = (목록 == "" ? this[i] : "," this[i]);
}
}
목록 반환.ToArray();
}
/// 숫자로 배열 정렬 asc는 오름차순으로 정렬할지 여부를 지정합니다. 이는 true 또는 false일 수 있으며 오름차순은 지정되지 않습니다.
Array.prototype.SortByNumber = 함수(asc) {
If (asc == 정의되지 않음) { asc = true }
If (오름차순) {
return this.sort(SortNumberAsc);
}
그렇지 않으면 {
return this.sort(SortNumberDesc);
}
}
Array.prototype.InArray = 함수 (e) {
var IsIn = false;
for (var i = 0; i < this.length; i ) {
If (this[i] == (e "")) {
IsIn = true;
}
}
IsIn을 반환합니다.
}
String.prototype.Trim = 함수(들) { return Trim(this, s) }
String.prototype.LTrim = 함수(들) { return LTrim(this, s) }
String.prototype.RTrim = 함수(들) { return RTrim(this, s) }
//Array.SortByNumer와 함께 사용하여 숫자를 내림차순으로 정렬
함수 SortNumberDesc(a, b) {
b-a반환;
}
//Array.SortByNumer와 함께 사용하여 숫자를 오름차순으로 정렬
함수 SortNumberAsc(a, b) {
a - b 반환;
}
//독립적인 함수입니다
함수 LTrim(str, s) {
If (s == 정의되지 않음) { 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);
문자열 반환
}
함수 RTrim(str, s) {
var i;
If (str == s && s != " ") { return s }
If (s == 정의되지 않음) { 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);
문자열 반환
}
함수 Trim(str, s) {
LTrim(RTrim(str, s), s)를 반환합니다.
}
///문자열이 중국어, 영어, 숫자, 밑줄로 구성되어 있는지 확인
함수 chkNickName(str) {
var 패턴 = /^[wu4e00-u9fa5] $/gi;
If (pattern.test(str)) {
true를 반환합니다.
}
거짓을 반환합니다.
}
//길이 판단(길이는 0으로 제한되지 않음)
String.prototype.IsLen = 함수 () {
var isRightFormat = false;
var minnum = 인수[0] ? 인수[0] : 0;
var maxnum = 인수[1] ? 인수[1] : 0;
isRightFormat = (minnum == 0 && maxnum == 0 ? true : (calculate_byte(this) >= minnum &&calculate_byte(this) <= maxnum ? true : false));
isRightFormat을 반환합니다.
}
//문자열이 영숫자인지 확인 _ -
String.prototype.IsStr = 함수 () {
var myReg = /^[0-9a-zA-Z-_] $/;
(myReg.test(this))가 true를 반환하는 경우;
거짓을 반환합니다.
}
//사용자 이름 확인
String.prototype.IsUsername = 함수 () {
var myReg = /^[0-9a-zA-Z-_]{3,50}$/;
(myReg.test(this))가 true를 반환하는 경우;
거짓을 반환합니다.
}
//비밀번호 확인
String.prototype.IsPassword = 함수 () {
var myReg = /^[0-9a-zA-Z`~!@#$%^&*()-_ ={}[];:"'?/\]{6,}$/;
(myReg.test(this))가 true를 반환하는 경우;
거짓을 반환합니다.
}
//문자인지 확인
String.prototype.IsEn = 함수 () {
var myReg = /^[a-zA-Z] $/;
(myReg.test(this))가 true를 반환하는 경우;
거짓을 반환합니다.
}
//한자인지 확인
String.prototype.IsCn = 함수 () {
var myReg = /^[u0391-uFFE5] $/;
(myReg.test(this))가 true를 반환하는 경우;
거짓을 반환합니다.
}
//이메일 확인
String.prototype.IsEmail = 함수 () {
var myReg = /([w-.] )@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)| (([w-] .) ))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)/;
(myReg.test(this))가 true를 반환하는 경우;
거짓을 반환합니다.
}
//MSN 확인
String.prototype.IsMSN = 함수 () {
var myReg = /([w-.] )@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)| (([w-] .) ))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)/;
(myReg.test(this))가 true를 반환하는 경우;
거짓을 반환합니다.
}
//QQ 번호 확인
String.prototype.IsQQ = 함수 () {
var myReg = /^[1-9]d{4,10}$/;
(myReg.test(this))가 true를 반환하는 경우;
거짓을 반환합니다.
}
//URL 확인
String.prototype.IsHttpUrl = 함수 () {
var myReg = /^http://[A-Za-z0-9] .[A-Za-z0-9] [/=?%-&_~`@[]': !]*([^< >""])*$/;
(myReg.test(this))가 true를 반환하는 경우;
거짓을 반환합니다.
}
//도메인 이름 확인
String.prototype.IsDoMainName = 함수 () {
var myReg = /^[0-9a-zA-Z]([0-9a-zA-Z-] .){1,3}[a-zA-Z]{2,4}?$/;
(myReg.test(this))가 true를 반환하는 경우;
거짓을 반환합니다.
}
//IPV4 주소 확인
String.prototype.IsIpv4 = 함수 () {
var myReg = /^(2[0-5]{2}|1?[0-9]{1,2}).(2[0-5]{2}|1?[0-9]{1 ,2}).(2[0-5]{2}|1?[0-9]{1,2}).(2[0-5]{2}|1?[0-9]{1 ,2})$/;
(myReg.test(this))가 true를 반환하는 경우;
거짓을 반환합니다.
}
//이미지 주소 확인(CGI에 의해 동적으로 생성된 이미지는 지원되지 않음)
String.prototype.IsImgURL = 함수() {
var myReg = /^.(jpeg|jpg|gif|bmp|png|pcx|tiff|tga|lwf)$/;
(myReg.test(this))가 true를 반환하는 경우;
거짓을 반환합니다.
}
//휴대폰번호 인증
String.prototype.IsCellPhone = 함수 () {
var myReg = /^(((d{3}))|(d{3}-))?1[3,5]d{9}$/;
(myReg.test(this))가 true를 반환하는 경우;
거짓을 반환합니다.
}
//유선번호 확인
String.prototype.IsPhone = 함수 () {
var myReg = /^[ ]{0,1}(d){1,3}[ ]?([-]?((d)|[ ]){1,12}) $/;
(myReg.test(this))가 true를 반환하는 경우;
거짓을 반환합니다.
}
//우편번호 확인
String.prototype.IsZipCode = 함수 () {
var myReg = /[0-9]{6}/;
(myReg.test(this))가 true를 반환하는 경우;
거짓을 반환합니다.
}
//주민등록번호 확인
String.prototype.IsIdCard = 함수 () {
var myReg = /(^([d]{15}|[d]{18}|[d]{17}[xX]{1})$)/;
(myReg.test(this))가 true를 반환하는 경우;
거짓을 반환합니다.
}
//날짜 형식 확인 YY-MM-DD
String.prototype.IsDateFormat = 함수 () {
var myReg = /^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$/;
(myReg.test(this))가 true를 반환하는 경우;
거짓을 반환합니다.
}
//시간 형식 확인 HH:MM:SS
String.prototype.IsRangeTime = 함수 () {
var myReg = /^(d{2}):(d{2}):(d{2})$/;
(myReg.test(this))가 true를 반환하는 경우;
거짓을 반환합니다.
}
//금액 형식 확인
String.prototype.IsMoney = 함수 () {
var myReg = /^[0-9]{1,8}[.]{0,1}[0-9]{0,6}$/;
(myReg.test(this))가 true를 반환하는 경우;
거짓을 반환합니다.
}
//디지털 형식을 확인하고 숫자의 범위를 결정합니다(최소:최소값, 최대:최대값)
String.prototype.IsInt = 함수 () {
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 = 함수 () {
var myReg = /^[|"'<>,.*&@#$;:!^()]/;
(myReg.test(this))가 false를 반환하는 경우;
true를 반환합니다.
}
//js는 문자열 길이를 정확하게 계산합니다
함수 계산_바이트(sTargetStr) {
var sTmpStr, sTmpChar;
var noOriginLen = 0;
var nStrLength = 0;
sTmpStr = new String(sTargetStr);
nOriginLen = sTmpStr.length;
for (var i = 0; i < nOriginLen; i ) {
sTmpChar = sTmpStr.charAt(i);
if (escape(sTmpChar).length > 4) {
nStrLength = 2;
} else if (sTmpChar != 'r') {
nStrLength ;
}
}
nStrLength를 반환합니다.
}
//색상값;
String.prototype.IsColor = 함수 () {
var s = 인수[0] ? 인수[0] : "";
s = s.Trim();
(s.length != 7)인 경우 false를 반환합니다.
s.search(/#[a-fA-F0-9]{6}/) != -1;
반환
}
//js日期格式化
Date.prototype.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), //quarter
"S": this.getMilliseconds() //밀리초
}
if (/(y )/.test(format)) {
format = format.replace(RegExp.$1, (this.getFullYear() "").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]).length));
}
}
반환 형식;
}
함수 Has Chinese(값) {
if (/^[u4e00-u9fa5] $/.test(값)) {
true를 반환합니다.
}
false를 반환합니다.
}
함수 ToDate(dateStr) {
var dStr = dateStr.toString();
dateStr = dStr.replaceAll("-", "/");
새 Date(Date.parse(dateStr)) 반환;
}
//是否ID列表
String.prototype.IsIdList = 함수(들) {
if (s == 정의되지 않음) {
s = ",";
}
var arr = this.split(s);
for (var i = 0; i
if (isNaN(parseInt(arr[i]))) { return false; }
}
true를 반환합니다.
}
//获取事件触发的对象
함수 getEventTarget(e) {
e = e || window.event;
e.target을 반환 || e.srcElement;
}
代码道很简洁,简单,功能却道很实用,有需要的小伙伴参考下