请查看这个不完整的小提琴(https://jsfiddle.net/JayKandari/srqLLd97/)。
标记:
console.log(validatePIN('3627i1'));
JS代码:
var r = new RegExp('^[0-9]*$');
function validatePIN (pin) {
//return true or false
if(r.test(pin) && pin.length == 4 || pin.length == 6){
return true;
}else{
return false;
}
}
console.log(validatePIN("3627i1")); //call valid function, parameter = string
问题:
答案 0 :(得分:0)
你可能想到的是这样的事情......
var rotateVal = t.transform().localMatrix.split().rotate;
localMatrix给出了专门应用于该元素的矩阵。
globalMatrix给出了应用于该元素的总矩阵(例如来自外部容器的矩阵)。
diffMatrix给出了localMatrix和globalMatrix之间的区别。
split()(docs here)将该矩阵分解为其元素。所以我们可以从这里找到'旋转'。
所以这就是我认为你所追求的答案。
然而,如果这只是一个更复杂设计的最小例子,我实际上会设计稍微不同的代码。
而不是像transform()。localMatrix.split()。rotate那样,我会存储你自己的变换组件。所以......就像......
var rotate = 45;
var tx = 250;
var ty = 250;
...then in func
rotate += +10;
var newTransform = 'T'+tx+','+ty+'R'+rotate;
原因在于,您现在正在精确控制值,并且它不容易出错(来自lib或对矩阵的误解)。如果你看一下你显示的矩阵值,你会注意到有微妙的舍入差异,再加上复杂的矩阵计算,这些值并不是我们所期望的,并且不总是以一种有意义的简单方式分割。< / p>
因此,如果这是主要示例,则第一位代码可能就足够了。如果您正在进行更复杂的转换,我会考虑自己控制值并构建转换字符串,就像后一个示例一样。