React Native - 全局唯一标识符(GUID)的生成
作者:hangge | 2017-03-09 08:10
1,GUID介绍
- 全局唯一标识符(GUID,Globally Unique Identifier)是一种由算法生成的二进制长度为 128 位的数字标识符。
- GUID 一词有时也专指微软对 UUID 标准的实现。
- 在理想情况下,任何计算机和计算机集群都不会生成两个相同的 GUID。随机生成两个相同 GUID 的可能性非常小,但并不为 0。
- 为保证重复的情况不会发生,用于生成 GUID 的算法通常都加入了非随机的参数(如时间)。
- GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每个 x 是 0-9 或 a-f 范围内的一个 4 位十六进制数。例如:6F9619FF-8B86-D011-B42D-00C04FC964FF 即为有效的 GUID 值。
2,生成GUID的方法
//生成随机ID:GUID genId(){ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); return v.toString(16); }).toUpperCase(); }
3,使用样例
(1)效果图
程序启动后,随机生成一个 GUID 并显示在页面上。
(2)样例代码
import React, { Component } from 'react'; import { AppRegistry, StyleSheet, Text, View, } from 'react-native'; //主应用 class Main extends Component { render() { return ( <View style={styles.flex,{marginTop:30}}> <Text>{this.genId()}</Text> </View> ); } //生成随机ID:GUID genId(){ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); return v.toString(16); }).toUpperCase(); } } //样式定义 const styles = StyleSheet.create({ flex:{ flex:1 }, }); AppRegistry.registerComponent('HelloWorld', () => Main);
全部评论(0)