以下は、私がよく使用するいくつかのJSの検証と機能です。私がオブジェクトのプロパティに直接書き込んだいくつかの検証は、オブジェクトを介して直接呼び出すことができます。
コードコピーは次のとおりです。
//フローティングポイント分割操作
関数fdiv(a、b、n){
if(n == undefined){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 = number(a.toString()。置換( "。"、 ""));
r2 = number(b.toString()。置換( "。"、 ""));
return((r1 / r2) * pow(10、t2 -t1))。tofixed(n);
}
}
コードコピーは次のとおりです。
//フローティングポイント乗算操作
関数fmul(a、b、n){
if(n == undefined){n = 2; }
var m = 0、s1 = a.toString()、s2 = b.toString();
try {m += s1.split( "。")[1] .length} catch(e){}
try {m += s2.split( "。")[1] .length} catch(e){}
return(number(s1.replace( "。"、 "")) * number(s2.replace( "。"、 "")) / math.pow(10、m))。tofixed(n);
}
コードコピーは次のとおりです。
//フローティングポイント番号追加操作
関数faadd(a、b、n){
if(n == undefined){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 == undefined){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);
}
number.prototype.add = function(arg){
fadd(this、arg);
}
number.prototype.subs = function(arg){
fsub(this、arg)を返します。
}
number.prototype.mul = function(arg){
fmul(this、arg)を返します。
}
number.prototype.div = function(arg){
fdiv(this、arg)を返します。
}
コードコピーは次のとおりです。
///形式の数字数、桁の不十分な数はデフォルトで0です。パラメーター2が指定され、パラメーター2の値が1の場合、パラメーター2が指定されている場合、右側は0 x 0になります。
number.prototype.formatlen = function(len、direct){
var d = parseint(direct);
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を返します。
}
コードコピーは次のとおりです。
//小数点以下の場所をフォーマットすると、小数点以下の小数を指定できます。
number.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 == undefined){
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を返します。
}
}
}
}
falseを返します。
}
string.prototype.replaceall = function(str、tostr){
ostr = this;
while(ostr.indexof(str)> -1){
OSTR = OSTR.REPLACE(STR、TOSTR);
}
ORTRを返します。
}
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]){
trueを返します。
}
}
}
falseを返します。
}
コードコピーは次のとおりです。
//文字列はグループの数に変換されます。区切り文字が指定されていない場合、デリミタはデフォルトで区切ります。区切り文字が空の場合、各文字は配列要素として使用されます。
string.prototype.toarray = function {
if(s == undefined){s = "、"; }
var strarr = [];
strarr = this.split(s);
strarrを返します。
}
コードコピーは次のとおりです。
//配列を文字列に変換し、すべての要素が指定されたデリミターを使用して接続され、デフォルトは、次のとおりです。
array.prototype.toidlist = function {
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]){
index = 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){
this.sort(sortnumberasc)を返します。
}
それ以外 {
this.sort(sortnumberdesc);
}
}
array.prototype.inarray = function(e){
var isin = false;
for(var i = 0; i <this.length; i ++){
if(this [i] ==(e + "")){
isin = true;
}
}
ISINを返します。
}
string.prototype.trim = function(s){return trim(this、s); }
string.prototype.ltrim = function(s){return ltrim(this、s); }
string.prototype.rtrim = function(s){return rtrim(this、s); }
// sortbynumerアレイで下降順に番号を並べ替える
関数SORTNUMBERDESC(A、B){
b -aを返す;
}
// 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);
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);
strを返します。
}
関数トリム(str、s){
return ltrim(rtrim(str、s)、s);
}
コードコピーは次のとおりです。
///文字列が中国語、英語、数字、アンダースコアで構成されているかどうかの検出
関数chnickname(str){
var pattern =/^[/w/u4e00-/u9fa5]+$/gi;
if(pattern.test(str)){
trueを返します。
}
falseを返します。
}
コードコピーは次のとおりです。
//裁判官の長さ(長さは0に限定されません)
string.prototype.islen = function(){
var isrightformat = false;
var minnum = arguments [0]?引数[0]:0;
var maxnum = arguments [1]?引数[1]:0;
iSrightformat =(minnum == 0 && maxnum == 0?true :( calculate_byte(this)> = minnum && calculated_byte(this)<= maxnum?true:false));
iSrightFormatを返します。
}
コードコピーは次のとおりです。
//文字列が文字 +番号 +_ +であるかどうかを確認します
string.prototype.isstr = function(){
var myreg =/^[0-9a-za-z/ - /_]+$/;
if(myreg.test(this))trueを返します。
falseを返します。
}
コードコピーは次のとおりです。
//ユーザー名を確認します
string.prototype.isusername = function(){
var myreg =/^[0-9a-za-z/ - /_] {3,50} $/;
if(myreg.test(this))trueを返します。
falseを返します。
}
コードコピーは次のとおりです。
//パスワードを確認します
string.prototype.ispassword = function(){
var myreg =/^[0-9a-za-z`〜!@#$%^&*()-_+=/{/}/[/]/;/:/"/'/?///] {6、} $/;
if(myreg.test(this))trueを返します。
falseを返します。
}
コードコピーは次のとおりです。
//それが手紙かどうかを確認します
string.prototype.isen = function(){
var myreg = /^[a-za-z]+$ /;
if(myreg.test(this))trueを返します。
falseを返します。
}
コードコピーは次のとおりです。
//漢字かどうかを確認します
string.prototype.iscn = function(){
var myreg =/^[/u0391-/uffe5]+$/;
if(myreg.test(this))trueを返します。
falseを返します。
}
コードコピーは次のとおりです。
//電子メールを確認します
string.prototype.isemail = function(){
var myreg = /( [/w-/.]
if(myreg.test(this))trueを返します。
falseを返します。
}
コードコピーは次のとおりです。
// MSNを確認します
string.prototype.ismsn = function(){
var myreg = /( [/w-/.]
if(myreg.test(this))trueを返します。
falseを返します。
}
コードコピーは次のとおりです。
// QQ番号を確認します
string.prototype.isqq = function(){
var myreg =/^[1-9]/d {4,10} $/;
if(myreg.test(this))trueを返します。
falseを返します。
}
コードコピーは次のとおりです。
// URLを確認します
string.prototype.ishttpurl = function(){
var myreg = /^http://// [a-za-z0-9] +/._a-za-z0-9]+
if(myreg.test(this))trueを返します。
falseを返します。
}
コードコピーは次のとおりです。
//ドメイン名を確認します
string.prototype.isdomainname = function(){
var myreg = /^ [0-9a-za-z]([0-9a-za-z/- ]+/.) {1,3} [a-za-z] {2,4}?$/;
if(myreg.test(this))trueを返します。
falseを返します。
}
コードコピーは次のとおりです。
// IPv4アドレスを確認します
string.prototype.isipv4 = function(){
var myreg = /^(2 [0-0-5] {2} | 1?
if(myreg.test(this))trueを返します。
falseを返します。
}
コードコピーは次のとおりです。
//画像アドレスを確認します(CGIによって動的に生成された画像はサポートされていません)
string.prototype.isimgurl = function(){
var myreg = /^/.(jpeg|jpg|gif| bmp|png|pcx|tiff|tga| lwf)$$/;
if(myreg.test(this))trueを返します。
falseを返します。
}
コードコピーは次のとおりです。
//携帯電話番号を確認します
string.prototype.iscellphone = function(){
var myreg =/^((/(/d {3}/))|(/d {3}/ - ))?1 [3,5]/d {9} $/;
if(myreg.test(this))trueを返します。
falseを返します。
}
コードコピーは次のとおりです。
//固定電話を確認します
string.prototype.isphone = function(){
var myreg =/^[+] {0,1}(/d){1,3} []?([ - ]?(((/d)| []){1,12})+$/;
if(myreg.test(this))trueを返します。
falseを返します。
}
コードコピーは次のとおりです。
//郵便番号を確認します
string.prototype.iszipcode = function(){
var myreg = /[0-9] {6} /;
if(myreg.test(this))trueを返します。
falseを返します。
}
コードコピーは次のとおりです。
// ID番号を確認します
string.prototype.isidcard = function(){
var myreg =/(^([/d] {15} | [/d] {18} | [/d] {17} [xx] {1})$)/;
if(myreg.test(this))trueを返します。
falseを返します。
}
コードコピーは次のとおりです。
// 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を返します。
falseを返します。
}
コードコピーは次のとおりです。
//時間形式を確認するHH:mm:ss
string.prototype.israngetime = function(){
var myreg =/^(/d {2}):(/d {2}):(/d {2})$/;
if(myreg.test(this))trueを返します。
falseを返します。
}
コードコピーは次のとおりです。
//金額形式を確認します
string.prototype.ismoney = function(){
var myreg = /^ [0-9] {1,8}
if(myreg.test(this))trueを返します。
falseを返します。
}
コードコピーは次のとおりです。
//単語番号形式を確認し、数字の周囲を判断します(最小:最小値、最大値:最大値。)
string.prototype.isint = function(){
var isrightformat = false;
var minnum = arguments [0]?引数[0]:0;
var maxnum = arguments [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を返します。
trueを返します。
}
コードコピーは次のとおりです。
// JS文字列の長さを正確に計算します
関数calculate_byte(stargetstr){
var stmpstr、stmpchar;
var noriginlen = 0;
var nstrlength = 0;
stmpstr = new String(StargetStr);
noriginlen = stmpstr.length;
for(var i = 0; i <noriginlen; i ++){
stmpchar = stmpstr.charat(i);
if(escase(stmpchar).length> 4){
nstrlength += 2;
} else if(stmpchar!= '/r'){
NSTRLENGTH ++;
}
}
NSTRENGTHを返します。
}
コードコピーは次のとおりです。
//色値;
string.prototype.iscolor = function(){
var s = arguments [0]?引数[0]: "";
s = s.trim();
if(s.length!= 7)falseを返します。
return 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()、// hour
「M+」:this.getMinutes()、// minuts
「S+」:this.getSeconds()、// second
「Q +」:math.floor((this.getmonth() + 3) /3)、//四半期
「S」:this.getMilliseConds()// millisecond
}
if(/(y+)/.test(format))){
format = format.replace(regexp。$ 1、(this.getThylowear() + "").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])。subst(( "" + o [k])。
}
}
返品形式。
}
function haschinese(value){
if(/^:/u4e00-/u9fa5] +$/.test(value)){
trueを返します。
}
falseを返します。
}
function todate(datestr){
var dstr = datestr.toString();
datestr = dstr.replaceall( " - "、 "/");
新しい日付(date.parse(datestr))を返す;
}
コードコピーは次のとおりです。
// IDリストはありますか?
string.prototype.isidlist = function(s){
if(s == undefined){
s = "、";
}
var arr = this.split(s);
for(var i = 0; i <arr.length; i ++){
if(isnan(parseint(arr [i]))){return false; }
}
trueを返します。
}
コードコピーは次のとおりです。
//イベントによってトリガーされたオブジェクトを取得します
関数getEventTarget(e){
e = e || window.event;
e.targetを返します|| E.SRCELEMENT;
}
コードは簡単ですが、機能は非常に実用的です。必要に応じて参照してください。