小编Yon*_*der的帖子

正则表达式用于检查是否存在4个不同字符组中的至少3个

我正在尝试编写密码验证器.

如何查看我提供的字符串是否包含至少3个不同的字符组?

它很容易检查它们是否存在 - 但至少3个?

  • 至少八(8)个字符

  • 至少三个不同的角色组

    大写字母

    小写字母

    数字

    特殊字符!@#$%&/ =?_.,:; - \

(我正在使用javascript进行正则表达式)

javascript regex passwords

16
推荐指数
3
解决办法
1万
查看次数

使用jquery延迟同步动画和ajax

我试图了解整个deferred概念,我试图用它来同步一个fadeIn/ fadeOut动画与Ajax调用.

基本上我正在切换页面上的内容:

  1. 使用ajax获取内容
  2. 在回应FadeOut
  3. 替换内容
  4. 淡入

但是,如果我理解deferred正确,我可能会做这样的事情:

  1. fadeOut,同时用ajax初始化Fetch内容
  2. 当fadeOut和Fetch内容都完成时:更改内容
  3. 淡入

原始解决方案的一些代码:

$.get(url, function(page) {
    $('#content').fadeTo(100, 0, 'linear', function() {
        $(this).html(page.text).fadeTo(400, 1, 'linear');
    });
}
Run Code Online (Sandbox Code Playgroud)

我想做这样的事情:

var deferred1 = $.get(url);
var deferred2 = $('#content').fadeTo(100, 0, 'linear').promise();

$.when(deferred1, deferred2).done(function() {
    $('#content').html(page.text).fadeTo(400, 1, 'linear');
});
Run Code Online (Sandbox Code Playgroud)

我真的不清楚如何使用它.我应该使用完成还是然后?我应该巧妙地使用烟斗吗?我需要promise吗?

实现这一目标的"标准化"方式是什么?

ajax jquery fadein deferred

6
推荐指数
1
解决办法
2801
查看次数

如何使用HTML5画布生成彩虹圈?

我想以一些聪明的方式使用渐变生成画布图像.我希望图像看起来像这样:

彩虹圈

我只是无法理解它.我需要在窗体和圆弧中生成线条 - 或者以一些聪明的方式使用带有颜色停止的渐变.如果我转换为HSL并且只是通过HUE值,那可能会容易得多吗?

例如,我可以使用矩形格式

for (var i = 0; i < h; ++i) {
  var ratio = i/h;
  var hue = Math.floor(360*ratio);
  var sat = 100;
  var lum = 50;
  line(dc, hslColor(hue,sat,lum), left_margin, top_margin+i, left_margin+w, top_margin+i);
}
Run Code Online (Sandbox Code Playgroud)

有没有人有关于如何使用画布生成此图像的聪明提示?

javascript hsl rgb canvas color-space

4
推荐指数
1
解决办法
5855
查看次数

使用 react 定期运行 fetch

我有一个包含不同反应组件的网格,所有组件都是独立的 - 因为它们获取自己的数据并显示它。

我想以某种方式让它们每 15 分钟自动重新获取和更新一次。我的第一个想法是 HOC,但是有了更新的钩子和功能组件,我尝试了一些使用钩子的东西。

所以我已经能够创建一个自定义钩子 - 来处理数据的获取:

const useFetching = (url) => {
  const [loading, setLoading] = useState(true);
  const [data, setData] = useState({});
  const [error, setError] = useState(null);
  const [reload, setReload] = useState(true);

  useEffect(() => {
    const fetchData = async () => {
      try {
        const response = await fetch(url);

        if (!response.ok) {
          throw new Error('Something went wrong');
        }

        const json = await response.json();

        if (json) {
          setData(json);
        }
      } catch (error) {
        setError(error);
      }

      setLoading(false);
    } …
Run Code Online (Sandbox Code Playgroud)

javascript fetch setinterval reactjs react-hooks

3
推荐指数
2
解决办法
4734
查看次数

生成具有完整 RGB 空间的画布颜色选择器

由于 RGB 需要一个立方体来显示所有颜色,因此有更多方法来显示所有颜色。我想要一个圆圈以全彩显示彩虹中的所有颜色 - 并且单击时在其自己的小 2D 空间中显示所选颜色的所有不同亮度。

我想使用画布生成类似于此图像的内容:

选色器

我对此的尝试:

JavaScript:

function ColorPicker(element) {
    this.element = element;

    this.init = function() {
        var diameter = this.element.offsetWidth;

        var canvas = document.createElement('canvas');
        canvas.height = diameter;
        canvas.width = diameter,
        this.canvas = canvas;

        this.renderColorMap();

        element.appendChild(canvas);

        this.setupBindings();
    };

    this.renderColorMap = function() {
        var canvas = this.canvas;
        var ctx = canvas.getContext('2d');

        var radius = canvas.width / 2;
        var toRad = (2 * Math.PI) / 360;
        var step = 1 / radius;

        ctx.clearRect(0, 0, canvas.width, canvas.height);

        for(var i = …
Run Code Online (Sandbox Code Playgroud)

html javascript gradient canvas color-picker

2
推荐指数
1
解决办法
6586
查看次数

创建一个包含字符串属性的对象文本

如何创建一个从变量中评估属性名称的对象?

例如:

我有变量 myString = 'aString'

我想创建对象:

var obj = {
    aString : "value";
}
Run Code Online (Sandbox Code Playgroud)

我想用变量myString来创建它.

我提出的唯一解决方案是这样的:

var string = '{"' + myString + '": value }';
var obj = $.parseJSON(string);
Run Code Online (Sandbox Code Playgroud)

我怎样才能使这更有效,更清洁?

javascript json eval object-literal

0
推荐指数
1
解决办法
521
查看次数