成员
(constant) loremIpsumWords
- 描述:
英文常用假文单词
- 源码:
英文常用假文单词
(constant) yd_idCard_getAge
根据身份证号码获取年龄
- 描述:
根据身份证获取年龄
- 源码:
根据身份证获取年龄
示例:
yd_idCard_getAge(card)
方法
dismantleDate(d) → {Object}
- 描述:
日期拆解
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
d
|
Date |
待拆解的日期对象 |
返回:
拆解后的日期对象
- 类型
- Object
getRandom()
- 描述:
随机生成数字
- 源码:
返回:
Number
yd_address_areaMatch(address) → {Array}
- 描述:
省、市、区提取
- 源码:
举例:s
const address1 = "北京市朝阳区建国门外大街";
const addressComponents1 = extractAddressComponents(address1);
console.log(addressComponents1); // 输出: { province: '北京', city: '朝阳', region: '建国门外大街' }
const address2 = "广东省深圳市南山区科技园";
const addressComponents2 = extractAddressComponents(address2);
console.log(addressComponents2); // 输出: { province: '广东', city: '深圳', region: '南山区科技园' }
const address3 = "上海市浦东新区张江高科技园区";
const addressComponents3 = extractAddressComponents(address3);
console.log(addressComponents3); // 输出: { province: '上海', city: '浦东新区', region: '张江高科技园区' }
const address4 = "黑龙江省哈尔滨市道里区";
const addressComponents4 = extractAddressComponents(address4);
console.log(addressComponents4); // 输出: { province: '黑龙江', city: '哈尔滨', region: '道里区' }
const address5 = "错误地址";
const addressComponents5 = extractAddressComponents(address5);
console.log(addressComponents5); // 输出: null
参数:
名称 | 类型 | 描述 |
---|---|---|
address
|
string |
地址字符串 |
返回:
省市区
- 类型
- Array
yd_array_countByProperty(items, property) → {object}
- 描述:
统计数组中对象指定属性的出现次数。
- 源码:
举例:
const characters = [
{ name: 'Luke Skywalker', eye_color: 'blue' },
{ name: 'Darth Vader', eye_color: 'yellow' },
{ name: 'Anakin Skywalker' } // 没有 eye_color 属性
];
console.log(countByProperty(characters, 'eye_color'));
// 输出: { blue: 1, yellow: 1 }
参数:
名称 | 类型 | 描述 |
---|---|---|
items
|
Array |
对象数组。 |
property
|
string |
要统计的属性名。 |
返回:
- 一个包含每个属性值出现次数的对象。如果输入无效,则返回空对象。
- 类型
- object
yd_array_countOccurrences(array) → {object}
- 描述:
统计数组中各项出现的次数
- 源码:
举例:s
console.log(yd_array_countOccurrences([1, 1, 2, 3, 3, 4, 4, 4])); // {1: 2, 2: 1, 3: 2, 4: 3}
console.log(yd_array_countOccurrences(['a', 'a', 'bb', 'abc', 'fff', 'fff', '橙', '橙'])); // {a: 2, bb: 1, abc: 1, fff: 2, 橙: 2}
参数:
名称 | 类型 | 描述 |
---|---|---|
array
|
Array |
任意一维数组 |
返回:
返回以每项为key,次数为value的对象
- 类型
- object
yd_array_diffBoth(arr1, arr2)
- 描述:
数组的差集
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
arr1
|
Array |
数组1 |
arr2
|
Array |
数组2 |
返回:
Array 数组的差集
yd_array_diffFirst(arr1, arr2) → {Array}
- 描述:
取第一个数组的差集
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
arr1
|
Array |
数组1 |
arr2
|
Array |
数组2 |
返回:
返回第一个数组中跟第二个数组不同的值
- 类型
- Array
yd_array_durstenfeldShuffle(array) → {Array}
- 描述:
Durstenfeld shuffle (Durstenfeld 随机洗牌算法)
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
array
|
Array |
数组 |
返回:
Return the array in a randomly shuffled order. 返回随机排序后的数组
- 类型
- Array
yd_array_filterPlus(array, fn) → {Array}
- 描述:
数组过滤方法增强版
- 源码:
举例:
yd_is_filterPlus([1,2,3], (item) => item % 2 === 0); [[2], [1,3]]
参数:
名称 | 类型 | 描述 |
---|---|---|
array
|
Array |
数组 |
fn
|
function |
迭代元素过滤条件方法 |
返回:
返回一个数组,包含满足条件和不满足条件的元素数组
- 类型
- Array
yd_array_randomItem(array, itemNumberopt, repeatopt) → {Array}
- 描述:
随机取数组中的元素
- 源码:
举例:
yd_array_randomItem([1, 2, 3, 4, 5, 6], 3); //[2, 1, 3]
参数:
名称 | 类型 | 属性 | 默认 | 描述 |
---|---|---|---|---|
array
|
Array |
将要抽取的数组 |
||
itemNumber
|
number |
<optional> |
1
|
抽取元素数量(默认为1) |
repeat
|
boolean |
<optional> |
false
|
是否允许元素重复(默认为false) |
抛出:
-
所需不重复元素数量超过了数组中不重复元素的数量
- 类型
- Error
返回:
返回抽取的元素的数组
- 类型
- Array
yd_array_remove(array, item, itemNumberopt) → {Array}
- 描述:
根据元素删除
- 源码:
举例:
yd_array_remove(['易', '大', '师'], '易'); //['大', '师']
参数:
名称 | 类型 | 属性 | 默认 | 描述 |
---|---|---|---|---|
array
|
Array |
将要被删除元素的数组 |
||
item
|
any |
元素 |
||
itemNumber
|
number |
<optional> |
1
|
删除个数(不填代表删除全部) |
抛出:
-
删除个数大于数组中指定元素个数
- 类型
- Error
返回:
返回删除后的数组
- 类型
- Array
yd_array_sattoloShuffle(array) → {Array}
- To generate a random permutation where no element remains in its original position.
- To create a random cyclic permutation (where each element moves to a new position).
- 描述:
Sattolo shuffle (Sattolo 洗牌算法) Sattolo's algorithm is a shuffling algorithm that differs slightly from the standard Fisher-Yates (or Durstenfeld) shuffling algorithm.
- 源码:
举例:
yd_array_sattoloShuffle([1, 2, 3, 4, 5]);
return (result): [5, 1, 4, 2, 3]
参数:
名称 | 类型 | 描述 |
---|---|---|
array
|
Array |
数组 |
返回:
Return the array which is a random permutation.
- 类型
- Array
yd_array_sumBy(arr, iteratee) → {number}
- 描述:
数组求和
- 源码:
举例:
yd_array_sumBy([{a:1,b:2},{a:2,b:3}],(item => item.a))
参数:
名称 | 类型 | 描述 |
---|---|---|
arr
|
Array |
数组数据 |
iteratee
|
function |
迭代函数 |
返回:
返回求和值
- 类型
- number
yd_array_swapElements(array, …pairs) → {void}
该函数接收一个数组和 1或多 个索引对,交换数组中每对索引指定的位置的元素。函数直接修改输入的数组,因此不会返回新的数组。如果索引对中的两个索引相同,该索引处的元素保持不变。
- 描述:
交换数组中元素对的位置。
- 源码:
举例:
const numbers = [1, 2, 3, 4, 5];
yd_array_swapElements(numbers, [0, 3], [1, 4]);
console.log(numbers); // [4, 5, 3, 1, 2]
参数:
名称 | 类型 | 属性 | 描述 |
---|---|---|---|
array
|
Array |
需要交换元素的数组。 |
|
pairs
|
Array |
<repeatable> |
每个 element 对由两个索引组成,表示数组中要交换的元素位置。 |
返回:
- 该函数会直接修改输入的数组,不返回任何值。
- 类型
- void
yd_array_toMapByKey(array, keyName) → {Map}
- 描述:
根据某个键的值将数组转换为 Map 对象
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
array
|
Array |
数组 |
keyName
|
any |
键名,确保该键名对应的值是数组项的唯一标识,否则会被覆盖 |
返回:
返回一个 Map 对
- 类型
- Map
yd_browser_getQueryParams(url) → {object}
这个函数使用了URL和URLSearchParams接口,解析URL并返回一个包含所有查询参数的对象。 你可以将这个函数用于任何需要解析URL参数的场景。
- 描述:
获取url参数
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
url
|
string |
要解析的URL |
返回:
包含所有查询参数的对象
- 类型
- object
yd_browser_isMobileDevices() → {boolean}
- 描述:
判断是不是当前用户的是不是移动设备
- 源码:
举例:
yd_browser_isMobileDevices() => true
返回:
返回是否是移动设备
- 类型
- boolean
yd_compute_age(birthday) → {number}
根据给的生日计算出用户的年龄
- 描述:
计算年龄
- 源码:
举例:
yd_compute_age()
参数:
名称 | 类型 | 描述 |
---|---|---|
birthday
|
string |
生日日期字符串 |
返回:
- 返回计算出的年龄,如果未提供生日则返回0
- 类型
- number
yd_crypto_base64Decode(input) → {string}
根据指定的模式对字符串进行 Base64 解码。
- 描述:
对字符串进行 Base64 解码。
- 源码:
举例:
// 示例: 对 Base64 字符串进行解码
console.log(yd_crypto_base64Decode('SGVsbG8sIFdvcmxkIQ==')); // 输出: Hello, World!
参数:
名称 | 类型 | 描述 |
---|---|---|
input
|
string |
要处理的字符串。 |
抛出:
-
如果输入不是字符串则报错。
- 类型
- Error
返回:
处理后的字符串。
- 类型
- string
yd_crypto_base64Encode(input) → {string}
根据指定的模式对字符串进行 Base64 编码。
- 描述:
对字符串进行 Base64 编码。
- 源码:
举例:
// 示例: 对字符串进行 Base64 编码
console.log(yd_crypto_base64Encode('Hello, World!')); // 输出: SGVsbG8sIFdvcmxkIQ==
参数:
名称 | 类型 | 描述 |
---|---|---|
input
|
string |
要处理的字符串。 |
抛出:
-
如果输入不是字符串或模式不被支持则报错。
- 类型
- Error
返回:
处理后的字符串。
- 类型
- string
yd_crypto_luhn(str) → {number}
- 描述:
信用卡验证算法
- 源码:
举例:
yd_crypto_luhn('1234456789') // 1
参数:
名称 | 类型 | 描述 |
---|---|---|
str
|
string |
信用卡卡号 |
返回:
信用卡验证树枝
- 类型
- number
yd_data_randomColor()
- 描述:
随机生成的颜色(16进制)
- 源码:
返回:
String 随机生成的颜色
yd_data_randomSelect(collection) → {any}
支持 Array, Set, String, Map, Object 如果提供了不支持的类型或传入的集合为空,函数会抛出错误
- 描述:
从各种数据结构中随机选择一个元素
- 源码:
举例:s
// 示例: 从数组中随机选择
console.log(randomSelect([1, 2, 3, 4, 5])); // 输出: 数组中的一个随机元素
// 示例: 从字符串中随机选择
console.log(randomSelect('hello')); // 输出: 字符串中的一个随机字符
// 示例: 从集合中随机选择
console.log(randomSelect(new Set(['apple', 'banana', 'cherry']))); // 输出: 集合中的一个随机元素
// 示例: 从 Map 中随机选择
console.log(randomSelect(new Map([['a', 1], ['b', 2]]))); // 输出: 一个随机值
// 示例: 从对象属性中随机选择
console.log(randomSelect({x: 10, y: 20, z: 30})); // 输出: 一个随机属性的值
参数:
名称 | 类型 | 描述 |
---|---|---|
collection
|
Array | Set | String | Map | Object |
数据结构 |
抛出:
-
如果输入的数据结构类型不被支持或输入为空
- 类型
- TypeError
返回:
随机选择的元素
- 类型
- any
yd_date_range(year, month, day, hour, minute, second) → {Array}
生成一个时间范围数组,该数组包含当前时间和目标时间 如果目标时间在当前时间之后,则返回 [当前时间, 目标时间] 的数组 如果目标时间在当前时间之前或相同,则返回 [目标时间, 当前时间] 的数组
- 描述:
返回一个时间范围
- 源码:
参数:
名称 | 类型 | 默认 | 描述 |
---|---|---|---|
year
|
number |
0
|
需要增加的年数,默认为0 |
month
|
number |
0
|
需要增加的月数,默认为0 |
day
|
number |
0
|
需要增加的天数,默认为0 |
hour
|
number |
0
|
需要增加的小时数,默认为0 |
minute
|
number |
0
|
需要增加的分钟数,默认为0 |
second
|
number |
0
|
需要增加的秒数,默认为0 |
返回:
返回一个包含两个Date对象的数组,分别代表开始时间和结束时间
- 类型
- Array
yd_datetime_dateToTimestamp(date, inMilliseconds) → {number|null}
- 描述:
将 Date 对象转换为 Unix 时间戳。 验证 Date 对象是否有效,并允许选择输出时间戳的精度(秒或毫秒)。 该函数将验证输入的 Date 对象是否表示有效的日期。
- 源码:
举例:s
// 示例: 有效的 Date 对象,输出秒级时间戳
console.log(dateToTimestamp(new Date())) // 输出: Unix 时间戳(10位数字)
// 示例: 有效的 Date 对象,输出毫秒级时间戳
console.log(dateToTimestamp(new Date(), true)) // 输出: Unix 时间戳(13位数字)
// 示例: 无效的 Date 对象
console.log(dateToTimestamp(new Date("invalid"))) // 输出: null
// 示例: 显然无效的 Date 对象
console.log(dateToTimestamp(new Date('1000-00-00 00:00:00Z'))) // 输出: null
参数:
名称 | 类型 | 描述 |
---|---|---|
date
|
Date |
Date 对象。 |
inMilliseconds
|
boolean |
如果为 true,则输出 13 位数字的时间戳(毫秒级),否则输出 10 位数字的时间戳(秒级)。默认为 false。 |
返回:
对应的 Unix 时间戳,如果 Date 对象无效则返回 null。
- 类型
- number | null
yd_datetime_friendlyDateStr(sTime, type) → {string|null}
- 描述:
友好的时间显示
- 源码:
举例:s
// 示例: 刚刚
console.log(yd_datetime_friendlyDateStr('2024-08-02 10:36:30', 'normal')) // 输出: 刚刚
// 示例: 1分钟前
console.log(yd_datetime_friendlyDateStr('2024-08-02 10:35:30', 'normal')) // 输出: 1分钟前
// 示例: 3小时前
console.log(yd_datetime_friendlyDateStr('2024-08-02 07:35:30', 'blur')) // 输出: 3小时前
参数:
名称 | 类型 | 描述 |
---|---|---|
sTime
|
string | Date | number |
待格式化的时间, 可传递时间戳(秒、毫秒)、日期对象、日期字符串(YYYY-MM-DD HH:mm:SS) |
type
|
string |
类型 normal | blur | full | ymd | other |
返回:
格式化后的字符串
- 类型
- string | null
yd_datetime_leftTime(seconds) → {object}
- 描述:
计算剩余时间
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
seconds
|
number |
剩余时间秒数 |
返回:
返回剩余时间的不同单位值
- 类型
- object
yd_datetime_relativeTime(data) → {object}
- 描述:
转换相对时间
- 源码:
举例:
yd_datetime_relativeTime([])
参数:
名称 | 类型 | 描述 |
---|---|---|
data
|
Array | object |
数组或对象 |
返回:
返回转换后的相对时间
- 类型
- object
yd_faker_articleLorem(paragraphCount, sentencesPerParagraph, wordsPerSentence) → {string}
- 描述:
生成指定段落数的 Lorem Ipsum 文章
- 源码:
举例:
yd_faker_articleLorem() //
参数:
名称 | 类型 | 描述 |
---|---|---|
paragraphCount
|
number |
段落数 |
sentencesPerParagraph
|
number |
行数 |
wordsPerSentence
|
number |
句子长度 |
返回:
返回文章
- 类型
- string
yd_faker_carNumber(total) → {string}
应用场景:用于生成测试数据
- 描述:
生成一个车牌号
- 源码:
举例:
console.log(generateLicensePlateNumber()); // 输出: 闽ASXRG4
参数:
名称 | 类型 | 描述 |
---|---|---|
total
|
number |
生成车牌号的位数 (新能源车牌号为6位,普通车牌号为5位) 默认5位 |
返回:
返回一个随机的车牌号
- 类型
- string
yd_faker_chineseLorem(len) → {string}
- 描述:
中文乱文假数生成
- 源码:
举例:
yd_faker_chineseLorem(10) // ''
参数:
名称 | 类型 | 描述 |
---|---|---|
len
|
number |
生成的文字长度 |
返回:
返回生成的字符
- 类型
- string
yd_faker_chineseName() → {string}
应用场景:用于生成测试数据
- 描述:
生成一个姓名
- 源码:
举例:
console.log(generateChineseName()); // 输出: 王国栋
返回:
返回一个随机的中文姓名
- 类型
- string
yd_faker_mobileNumber() → {string}
应用场景:用于生成测试数据
- 描述:
生成一个手机号
- 源码:
举例:
console.log(generateMobleTel()); // 输出: 15105113629
返回:
返回一个随机的手机号
- 类型
- string
yd_faker_paragraphLorem(sentenceCount, wordsPerSentence) → {object}
- 描述:
生成指定句数的 Lorem Ipsum 段落
- 源码:
举例:
yd_faker_paragraphLorem() // tempor in incididunt eu nisi in voluptate excepteur ullamco mollit. of...
参数:
名称 | 类型 | 描述 |
---|---|---|
sentenceCount
|
number |
行数 |
wordsPerSentence
|
number |
句子长度 |
返回:
返回段落
- 类型
- object
yd_faker_sentenceLorem(wordCount) → {string}
- 描述:
生成指定长度的 Lorem Ipsum 句子
- 源码:
举例:
console.log(yd_string_generateSentenceLorem()); // 输出 veniam ipsum reprehenderit aliqua anim voluptate dolor sed sunt sint.
console.log(yd_string_generateSentenceLorem(2)); // 输出 occaecat ut.
参数:
名称 | 类型 | 描述 |
---|---|---|
wordCount
|
number |
句子长度 |
返回:
返回橘子
- 类型
- string
yd_faker_wordLorem() → {string}
- 描述:
生成一个
lorem
单词
- 源码:
举例:
console.log(yd_faker_wordLorem()); // 输出: aliqua
返回:
返回词语
- 类型
- string
yd_file_dataURLtoFile(filename, dataurl, callback) → {File}
- 描述:
Base64 DataURL 转 文件
- 源码:
举例:
yd_file_dataURLtoFile('base64.....') -> File
参数:
名称 | 类型 | 描述 |
---|---|---|
filename
|
||
dataurl
|
object |
Base64 DataURL |
callback
|
function |
回调函数 |
返回:
返回文件对象
- 类型
- File
yd_file_fileInfo(path) → {object}
- 描述:
从路径中截取文件信息
- 源码:
举例:
yd_file_fileInfo('/path/to/file.png') -> {name: 'file', type: 'png', fullName: 'file.png'}
参数:
名称 | 类型 | 描述 |
---|---|---|
path
|
string |
路径参数 |
返回:
文件的信息
- 类型
- object
yd_file_fileToDataURL(object, callback)
- 描述:
文件转Base64 DataURL
- 源码:
举例:
yd_file_fileToDataURL(file,()=>{})
参数:
名称 | 类型 | 描述 |
---|---|---|
object
|
object |
文件或者blob对象 |
callback
|
function |
回调函数 |
yd_helper_delay(wait) → {Promise}
- 描述:
延迟函数
- 源码:
举例:
yd_helper_delay()
参数:
名称 | 类型 | 描述 |
---|---|---|
wait
|
number |
等待时间 |
返回:
返回延迟后的Promise
- 类型
- Promise
yd_helper_repeatExecute(fn, times, delay)
- 描述:
重复执行函数
- 源码:
举例:
yd_helper_repeatExecute(() => {console.log('execute!')}, 5, 1000)
// 打印五次`execute!` 每次间隔1000ms
参数:
名称 | 类型 | 描述 |
---|---|---|
fn
|
function |
获取字段的方式 |
times
|
number |
执行次数 |
delay
|
number |
执行间隔 |
yd_idCard_analysis(idCard) → {object}
- 描述:
对身份证号解析
- 源码:
Properties:
名称 | 类型 | 描述 |
---|---|---|
areaCode
|
string |
地区码 |
birthDate
|
string |
出生日期 |
gender
|
string |
性别 |
valid
|
boolean |
是否有效 |
举例:
yd_idCard_analysis('110101200001011232'); // {areaCode: '110101', birthDate: '2000-01-01', gender: '男', valid: true}
参数:
名称 | 类型 | 描述 |
---|---|---|
idCard
|
string |
身份证号 |
返回:
返回身份证号各信息
- 类型
- object
yd_idCard_getBirthday(card) → {string}
- 描述:
根据身份证获取出生年月
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
card
|
string |
返回:
出生年月 yyyy-dd-mm
- 类型
- string
yd_idCard_getSex(card)
根据身份证号码获取性别
- 描述:
根据身份证获取性别
- 源码:
举例:
yd_idCard_getSex(card)
参数:
名称 | 类型 | 描述 |
---|---|---|
card
|
string |
身份证号 |
返回:
返回性别
yd_internal_getValueType(value) → {string}
- 描述:
获取数据的值类型
- 源码:
举例:
yd_internal_getValueType(123) // '[object Number]'
参数:
名称 | 类型 | 描述 |
---|---|---|
value
|
any |
任意值 |
返回:
返回 '[object 类型]' 字符
- 类型
- string
yd_is_array(value) → {boolean}
- 描述:
是否是数组
- 源码:
举例:
yd_is_array([1,2,3]) // true
参数:
名称 | 类型 | 描述 |
---|---|---|
value
|
any |
任意值 |
返回:
返回是否是数组
- 类型
- boolean
yd_is_arrayContain(arr1, arr2) → {Array}
- 描述:
判断数组是否有一个相同值
- 源码:
举例:
yd_is_arrayContain()
参数:
名称 | 类型 | 描述 |
---|---|---|
arr1
|
Array |
数组1 |
arr2
|
Array |
数组2 |
返回:
返回两个数组是否至少有一个相同值
- 类型
- Array
yd_is_card(card)
返回是否是有效身份证
- 描述:
返回是否是有效身份证
- 源码:
举例:
yd_is_card(card)
=> true or false
参数:
名称 | 类型 | 描述 |
---|---|---|
card
|
string |
返回:
返回是否是有效身份证
yd_is_chinese(str, isPure) → {boolean}
判断是否为中文字符串
- 描述:
是否为中文 中文范围:\u4E00-\u9FFF 基本的CJK统一表意文字区块。 中文范围:\u3400-\u4DBF CJK统一表意文字扩展A区块。 中文范围:\u20000-\u2A6DF CJK统一表意文字扩展B区块。 中文范围:\u2A700-\u2B73F CJK统一表意文字扩展C区块。 中文范围:\u2B740-\u2B81F CJK统一表意文字扩展D区块。 中文范围:\u2B820-\u2CEAF CJK统一表意文字扩展E区块。 中文范围:\uF900-\uFAFF CJK兼容表意文字区块。 中文范围:\u2F800-\u2FA1F CJK兼容表意文字补充区块。
- 源码:
举例:s
// 默认匹配纯中文
yd_is_chinese('中文'); // true
// 第二个参数设置为 false,则匹配包含中文的字符串
yd_is_chinese('abc中文123', false); // true
参数:
名称 | 类型 | 描述 |
---|---|---|
str
|
string |
字符串 |
isPure
|
boolean |
是否纯中文 |
返回:
返回是否是中文字符串
- 类型
- boolean
yd_is_email(value) → {Boolean}
- 描述:
判断是否是邮箱
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
value
|
any |
任意值 |
返回:
返回是否是有效邮箱
- 类型
- Boolean
yd_is_emoji(value) → {Boolean}
本函数没有使用 Emoji_Component 进行判断 详见 Unicode® Technical Standard #51 - Section 1.4.1 ED-5
- 描述:
判断是否是Emoji
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
value
|
any |
任意值 |
返回:
返回是否是Emoji
- 类型
- Boolean
yd_is_ipv4(ip) → {boolean}
- 描述:
判断一个字符串是否是一个合法的IPV4地址
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
ip
|
string |
需要判断的IP |
返回:
返回是否是一个合法的IPV4地址
- 类型
- boolean
yd_is_ipv6(ip) → {boolean}
- 描述:
判断一个字符串是否是一个合法的IPV6地址
- 源码:
举例:
yd_is_ipv6("2001:0db8:85a3:0000:0000:8a2e:0370:7334") // true
参数:
名称 | 类型 | 描述 |
---|---|---|
ip
|
string |
需要判断的IP |
返回:
返回是否是一个合法的IPV4地址
- 类型
- boolean
yd_is_mobile(userAgentopt) → {boolean}
- 描述:
判断是否是移动端
- 源码:
参数:
名称 | 类型 | 属性 | 默认 | 描述 |
---|---|---|---|---|
userAgent
|
string |
<optional> |
navigator.userAgent
|
ua值,默认为navigator.userAgent |
返回:
返回是否是手机端
- 类型
- boolean
yd_is_probability(probability) → {Boolean}
- 描述:
判断本次指定概率事件是否会发生
- 源码:
举例:
yd_is_probability(0.1); // 如果随机数小于或等于0.1,则返回true; 否则返回false。
参数:
名称 | 类型 | 描述 |
---|---|---|
probability
|
Number |
数值 |
返回:
返回概率事件是否发生了
- 类型
- Boolean
yd_is_unique(array) → {Boolean}
- 描述:
判断数组值否是唯一
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
array
|
Array |
数组数据 |
返回:
返回数组值是否唯一
- 类型
- Boolean
yd_math_circleArea(radius, fractionDigits) → {Number|undefined}
- 描述:
计算圆形面积
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
radius
|
Number |
圆形的半径,必须是大于等于 0 的数字 |
fractionDigits
|
Number |
保留的小数位数,必须是大于等于 0 的整数,默认为 2 |
返回:
返回圆形的面积,如果参数不合法则返回 undefined
- 类型
- Number | undefined
yd_math_max(array)
返回array中最大值
- 描述:
返回array中最大值,如果为空或假值,则返回undefined
- 源码:
举例:
yd_math_max([1, 2, 3, 4]);
// => 4
yd_math_max([]);
// => undefined
参数:
名称 | 类型 | 描述 |
---|---|---|
array
|
Array |
返回:
返回array中最大值
yd_math_rectangleArea(width, height) → {number|undefined}
- 描述:
计算矩形面积
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
width
|
number |
矩形的宽度 |
height
|
number |
矩形的高度 |
返回:
返回矩形的面积,如果输入不是数字则返回 undefined
- 类型
- number | undefined
yd_math_squareArea(l) → {Number}
- 描述:
正方形面积
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
l
|
Number |
正方形边长 |
返回:
正方形面积
- 类型
- Number
yd_misc_4StateSymbol(state) → {string}
- 描述:
返回信息、成功、警告、错误四种状态符号
- 源码:
举例:
yd_misc_4StateSymbol('success') // '√'
参数:
名称 | 类型 | 描述 |
---|---|---|
state
|
string |
状态值 |
返回:
状态符号
- 类型
- string
yd_number_convertUnits(value, fromUnitName, toUnitName, customUnitsopt) → {number}
- 描述:
转换单位
- 源码:
举例:s
const lengthResult = convertUnits(100, 'meter', 'km'); // 0.1
const areaResult = convertUnits(1000, 'squareMeter', 'km²'); // 0.001
// 自定义单位的示例用法
const customUnits = {
another: {
unit1: { factor: 3, symbol: lengthSymbol, aliases: [] }, // symbol这里可以随意定义,或者可以用Symbol()来定义
unit2: { factor: 4, symbol: lengthSymbol, aliases: [] },
}
};
const customResult = convertUnits(100, 'unit1', 'unit2', customUnits); // 75
参数:
名称 | 类型 | 属性 | 默认 | 描述 |
---|---|---|---|---|
value
|
number |
待转换的值 |
||
fromUnitName
|
string |
需要转换的单位 |
||
toUnitName
|
string |
转换后的单位 |
||
customUnits
|
Object |
<optional> |
{}
|
自定义单位 |
返回:
转换后的值
- 类型
- number
yd_number_parse(传入数字) → {Object}
- 描述:
解析数字
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
传入数字
|
Number |
返回:
返回解析对象
- 类型
- Object
yd_number_random(lower, upper, isFloat) → {number}
产生一个包括 lower 与 upper 之间的数。 如果只提供一个参数返回一个0到提供数之间的数。 如果 isFloat 设为 true,或者 lower 或 upper 是浮点数,结果返回浮点数。
- 描述:
获取2个数之间的随机数
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
lower
|
number |
最小值 |
upper
|
number |
最大值 |
isFloat
|
boolean |
是否浮点数 |
返回:
随机数
- 类型
- number
yd_number_thousands(number, optionsopt) → {string}
- 描述:
返回千分位数字
- 源码:
参数:
名称 | 类型 | 属性 | 默认 | 描述 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
number
|
number | ||||||||||||||||||
options
|
Object | string |
<optional> |
" "
|
Properties
|
返回:
- 类型
- string
yd_number_toBits(num, lengthopt)
- 描述:
将数字转为32位 bit 数组
- 源码:
举例:
{[0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1, 0|1]}
参数:
名称 | 类型 | 属性 | 描述 |
---|---|---|---|
num
|
Number | ||
length
|
Number |
<optional> |
比特数组长度 默认 |
返回:
返回对应位数的比特
yd_number_valid(number, symbol, decimalPlaces) → {Number}
应用场景:强制输入框必须输入有效值,如果值无效,则显示上一步的值
- 描述:
返回有效数字
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
number
|
Number |
数字传参 |
symbol
|
String |
符号(默认:-0+,表示允许负数,0和正数) |
decimalPlaces
|
Number |
小数位数 |
返回:
如果数字有效,则返回当前值,否则返回上一个有效值
- 类型
- Number
yd_object_clear(obj, values) → {object}
- 描述:
清理对象值
- 源码:
举例:
yd_object_clear({a:null,b:undefined,c:1}) // {c:1}
参数:
名称 | 类型 | 描述 |
---|---|---|
obj
|
object |
对象数据 |
values
|
Array |
要清理的值 |
返回:
返回修复后的对象
- 类型
- object
yd_object_queryParams(obj, explude) → {object}
- 描述:
对象拼接查询参数
- 源码:
举例:
yd_object_queryParams()
参数:
名称 | 类型 | 描述 |
---|---|---|
obj
|
object |
对象数据 |
explude
|
Array |
排除字段数组 |
返回:
摘取对象中的指定字段
- 类型
- object
yd_object_repair(obj, values, replace) → {object}
- 描述:
修复对象值
- 源码:
举例:
yd_object_repair({a:null,b:undefined,c:1}) // {a:'',b:'',c:1}
参数:
名称 | 类型 | 描述 |
---|---|---|
obj
|
object |
对象数据 |
values
|
Array |
要修复的值 |
replace
|
any |
要替换的值 |
返回:
返回修复后的对象
- 类型
- object
yd_object_swapElements(obj1, obj2, prop) → {void}
该函数接受两个对象和一个属性名称,并交换两个对象中该属性的值。 函数会检查输入参数的合法性。
- 描述:
交换两个对象中指定属性的值。
- 源码:
举例:
const objA = { name: 'A', age: 25 };
const objB = { name: 'B', age: 30 };
yd_object_swapProperties(objA, objB, 'name');
console.log(objA); // 输出: { name: 'B', age: 25 }
console.log(objB); // 输出: { name: 'A', age: 30 }
参数:
名称 | 类型 | 描述 |
---|---|---|
obj1
|
object |
第一个对象。 |
obj2
|
object |
第二个对象。 |
prop
|
string |
要交换的属性名称。 |
返回:
- 该函数直接修改输入的对象,不返回任何值。
- 类型
- void
yd_phone_masking(手机号脱敏的函数, 手机号) → {String}
应用场景:用于数据安全合规,个人隐私保护
- 描述:
手机号脱敏
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
手机号脱敏的函数
|
function | |
手机号
|
number |
返回:
- 类型
- String
yd_regexp_businessLicense() → {RegExp}
/(^(?:(?![I0ZSV])[\dA-Z]){2}\d{6}(?:(?![I0ZSV])[\dA-Z]){10}$)|(^\d{15}$)|([0-9A-Z]{18})/
- 描述:
营业执照号码校验
- 源码:
返回:
返回营业执照号码正则
- 类型
- RegExp
yd_regexp_licencePlateNumber() → {RegExp}
/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]$/
- 描述:
车牌号校验
- 源码:
返回:
返回车牌号正则
- 类型
- RegExp
yd_regexp_regexp() → {RegExp}
/^[GCDZTSPKXLY1-9]\d{1,4}$/
- 描述:
火车车次正则
- 源码:
返回:
返回火车车次正则
- 类型
- RegExp
yd_string_between(fullStr, prefix, suffix) → {String}
- 描述:
取出两个字符串之间的文本
- 源码:
举例:
yd_string_between("hello","h","o") -> ell
参数:
名称 | 类型 | 描述 |
---|---|---|
fullStr
|
String |
原始字符串 |
prefix
|
String |
前字符串 |
suffix
|
String |
后字符串 |
返回:
取出的中间字符串
- 类型
- String
yd_string_countCharacters(str) → {Object}
- 描述:
计算字符串中每个字符的出现次数。
- 源码:
举例:
console.log(countCharacters("hello world"))
// 输出: { h: 1, e: 1, l: 3, o: 2, ' ': 1, w: 1, r: 1, d: 1 }
参数:
名称 | 类型 | 描述 |
---|---|---|
str
|
String |
字符串。 |
返回:
- 包含每个字符的出现次数的对象。
- 类型
- Object
yd_string_displace(strs, start, end, placeholder) → {String}
参数:
名称 | 类型 | 描述 |
---|---|---|
strs
|
String |
字符串 |
start
|
Number |
前面留多少个字符 |
end
|
Number |
后面留多少个字符 |
placeholder
|
String |
占位符 |
返回:
返回置换后的字符串
- 类型
- String
yd_string_hexToRgb(hex) → {string}
- 描述:
十六进制颜色转rgb
- 源码:
举例:
yd_string_hexTorgb('#FF0000') -> rgb(255, 0, 0)
参数:
名称 | 类型 | 描述 |
---|---|---|
hex
|
string |
要转换的hex颜色值 |
返回:
rgb颜色
- 类型
- string
yd_string_isEnglishOrChineseChar(char) → {string}
- 描述:
检查一个字符是英文字符还是中文字符。
- 源码:
举例:s
console.log(isEnglishOrChineseChar('A')) // 输出: "English"
console.log(isEnglishOrChineseChar('中')) // 输出: "Chinese"
console.log(isEnglishOrChineseChar('!')) // 输出: "Other"
参数:
名称 | 类型 | 描述 |
---|---|---|
char
|
string |
需要检查的字符。 |
返回:
- 返回 "English"、"Chinese" 或 "Other" 以指示字符的类型。
- 类型
- string
yd_string_numToChinese(num, typeopt) → {string}
该函数接收一个数字,将其转换为中文数字。默认转换为简体中文,也可以选择转换为繁体中文。
- 描述:
将数字转换为中文数字。
- 源码:
举例:
yd_string_numToChinese(12345); // 一二三四五
yd_string_numToChinese(12345, 'financial'); // 壹贰叁肆伍
参数:
名称 | 类型 | 属性 | 默认 | 描述 |
---|---|---|---|---|
num
|
number |
需要转换为中文数字的数字。 |
||
type
|
string |
<optional> |
'simplified'
|
'simplified' 转换为简体中文; 'financial' 转换为繁体中文。 |
返回:
- 返回转换后的中文。
- 类型
- string
yd_string_randomString(length, includeSpecialopt) → {String}
- 描述:
根据指定长度生成随机字符串,可选是否包含特殊字符。
- 源码:
举例:s
console.log(generateRandomString(10)) // 输出示例: "LGEc8EptLr"
console.log(generateRandomString(10, true)) // 输出示例: "7ooxUA9'}:CP4)urV##["
参数:
名称 | 类型 | 属性 | 默认 | 描述 |
---|---|---|---|---|
length
|
Number |
要生成的字符串的长度。 |
||
includeSpecial
|
Boolean |
<optional> |
false
|
是否包含特殊字符。 |
返回:
- 生成的随机字符串。
- 类型
- String
yd_string_reverse(str) → {string}
将提供的字符串按照反转输出
- 描述:
字符串反转
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
str
|
要转换的字符串 |
返回:
返回结果
- 类型
- string
yd_string_rgbTohex(rgbArr) → {string}
- 描述:
rgb转16进制颜色
- 源码:
举例:
yd_string_rgbTohex([255, 0, 0]) -> #FF0000
参数:
名称 | 类型 | 描述 |
---|---|---|
rgbArr
|
Array |
要转换的rgv颜色值数组 |
返回:
hex颜色
- 类型
- string
yd_string_short(address, startNum, endNum) → {String}
- 描述:
字符串缩短展示
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
address
|
String |
字符串 |
startNum
|
Number |
前面留几个字符 |
endNum
|
Number |
后面留几个支付 |
返回:
返回截断后的字符串
- 类型
- String
yd_string_trimAll(str) → {string}
- 描述:
去除字符串中所有空白字符
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
str
|
要转换的字符串 |
返回:
返回去除空白后的字符串
- 类型
- string
yd_tree_array2Tree(arrs, id, pid, children) → {Array}
应用场景:用于生成无限级菜单结构
- 描述:
一维数组生成无限级树结构
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
arrs
|
Array |
传入的一维数组 |
id
|
String |
唯一标识字段 |
pid
|
String |
父级标识字段 |
children
|
String |
子级标识字段 |
返回:
返回一个无限级数组结构
- 类型
- Array
yd_tree_traverse(tree, mapFunction) → {function}
- 描述:
数结构遍历函数
- 源码:
举例:
yd_tree_traverse()
参数:
名称 | 类型 | 描述 |
---|---|---|
tree
|
Array |
树结构数据 |
mapFunction
|
function |
迭代函数 |
返回:
树结构迭代
- 类型
- function
yd_unit_byteSize(value, fromUnit, toUnit) → {string}
- 描述:
计算机存储单位互相转换
- 源码:
举例:
yd_unit_byteSize()
参数:
名称 | 类型 | 描述 |
---|---|---|
value
|
number |
大小值 |
fromUnit
|
string |
大小单位 |
toUnit
|
string |
转换单位 |
返回:
格式化后的文件大小,包含单位
- 类型
- string
yd_url_getScriptTagSrc(input) → {Array.<string>}
- 描述:
获取html/xml 文件中的script标签的src
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
input
|
string |
html/xml 文件内容 |
返回:
html/xml 文件内容中的script标签的src
- 类型
- Array.<string>
yd_url_paramsSort(obj) → {string}
- 描述:
获取参数按小写排序拼接
- 源码:
举例:
yd_url_paramsSort({a:1,b:2,c:3}) // a=1&b=2&c=3
参数:
名称 | 类型 | 描述 |
---|---|---|
obj
|
object |
对象数据 |
返回:
返回自然顺序拼接后的字符串
- 类型
- string
yd_url_parse(url) → {Object}
这个函数用来解析url参数中所有的query参数
- 描述:
解析url的query参数
- 源码:
举例:
yd_url_parse("https://example.com/api/data?page=57&limit=28&sort=desc&keyword=random_abc123");
结果:{
page: 57,
limit: 28,
sort: "desc",
keyword: "random_abc123"
}
参数:
名称 | 类型 | 描述 |
---|---|---|
url
|
string |
传递一个url地址 |
返回:
返回一个包含所有query参数的对象
- 类型
- Object
yd_url_urlDecode(input) → {string}
- 描述:
对字符串进行 URL 解码。
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
input
|
string |
要处理的字符串。 |
抛出:
-
如果输入不是字符串则报错。
- 类型
- Error
返回:
处理后的字符串。
- 类型
- string
yd_url_urlEncode(input) → {string}
- 描述:
对字符串进行 URL 编码。
- 源码:
参数:
名称 | 类型 | 描述 |
---|---|---|
input
|
string |
要处理的字符串。 |
抛出:
-
如果输入不是字符串则报错。
- 类型
- Error
返回:
处理后的字符串。
- 类型
- string
yd_url_valid(url) → {boolean}
- 描述:
判断是否有效链接
- 源码:
举例:
yd_url_valid("https://www.example.com") => true
参数:
名称 | 类型 | 描述 |
---|---|---|
url
|
string |
链接传参 |
返回:
是否有效链接
- 类型
- boolean