Chapter IV encapsulation validation js

In the background project, we need a lot of verification, some are brought by element-ui, some are written by ourselves: for example: preventing SQL injection, legal uir, case conversion, etc.

Therefore, create a new tool folder (utils) in the project and put these methods in validate.js:

One, commonly used validation js

Prevent SQL injection

export function stripScript(s) {
  //字符串格式化,防止SQL注入
  var rs = "";
  if (s != null && s != "" && s != undefined) {
    var pattern = new RegExp(
      "[`~!@#$^&*()=|{}';'\\[\\]<>?~!@#¥……&*()——|{}【】‘;”“'。、?]"
    );
    rs = "";
    for (var i = 0; i < s.length; i++) {
      rs = rs + s.substr(i, 1).replace(pattern, "");
    }
  }
 else {
    rs = s;
  }
  return rs;
}

URL legal verification

export function validateURL(textval) {
  const urlregex = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0- 9 ] | 1 [ 0 - 9 ] { 2 } | [ 1 - 9 ]? [ 0 - 9 ])) { 3 } | ([a - zA - Z0 - 9 -] + \.) * [A - zA - Z0 - 9 -] + \. (Com | edu | gov | int | mil | net | org | biz | arpa | info | name | pro | aero | coop | museum | [a-zA-Z] { 2 })) ( : [ 0 - 9 ] +) * (\ / ($ | [a-zA-Z0- 9 .,? ' \\ + &% $ # = ~ _-] +)) * $ /; 
  return urlregex.test (textval); 
}

Character case handling

/ * Lowercase letters * / 
export function validateLowerCase (str) { 
  const reg = / ^ [az] + $ / ;
   return reg.test (str); 
} 

/ * uppercase letters * / 

export function validateUpperCase (str) { 
  const reg = / ^ [AZ] + $ / ;
   return reg.test (str); 
} 

/ * Upper and lower case letters * / 
export function validateAlphabets (str) { 
  const reg = / ^ [A-Za-z] + $ / ;
   return reg .test (str); 
}

E-mail verification

/**
 * validate email
 * @param email
 * @returns {boolean}
 */
export function validateEmail(email) {
  const re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} \]) | (([a-zA-Z \ - 0 - 9 ] + \.) + [a-zA-Z] { 2 ,})) $ / ;
  return re.test (email); 
}

mobile phone number

/**
 * validate Phone
 * @param Phone
 * @returns {boolean}
 */
export function validatePhone(phoneNum) {
  const re = /^1[3456789]\d{9}/;
  return re.test(phoneNum);
}

 

ID card

/**
 * validate idCard
 * @param idCard
 * @returns {boolean}
 */
export function validateIdCard(idCard) {
  const re = /(^\d{15}&)|(^\d{18})|(^\d{17}(\d|X|x)$)/;
  return re.test(idCard);
}

Bank card number

/**
 * validate bank
 * @param bankNum
 * @returns {boolean}
 */
export function validateBank(bankNum) {
  const re = /^[0-9]{16,19}$/;
  return re.test(bankNum);
}

 2. Use in the project

On the page that requires verification :

import { validUsername, stripScript } from "@/utils/validate";

Then directly use :

let validateUsername = (rule, value, callback) => { 
      value = stripScript (value);
       if (! validUsername (value)) { 
        callback ( new Error ( " Enter the correct username " )); 
      } else { 
        callback () ; 
      } 
    };

 

Guess you like

Origin www.cnblogs.com/wangchao1990/p/12703772.html