使用带 jquery 的日期戳创建 ID
Creating an id using a date stamp with jquery
虽然这不是创建唯一 ID 的完美解决方案,但使用日期戳将满足我的需要,即无需数据库即可引用通过电子邮件发送的表单提交。两个人在完全相同的毫秒内提交表单的可能性是遥不可及的,如果确实发生了,我可以根据个人电子邮件区分两者。使用 GUID 方法对我的需求(长号)有点过头了。
仅供参考 - 我用连音符拆分了日期戳并将其反转以便于查找。
所以这是我的 jquery 代码,它使用了三个文本框。我想合并代码,所以我只需要使用一个文本框。我在示例 2 中没有成功。任何关于如何执行此操作的 tips/suggestions 将不胜感激。
示例 1 - 有效
<script>
$(document).ready(function(){
var ms = +new Date;
$('#test').val(ms);
var ms2 = $('#test').val();
$('#test2').val(ms2.match(new RegExp('.{1,4}', 'g')).join("-"));
var ms3 = $('#test2').val().split('').reverse().join('');
$('#test3').val(ms3);
});
</script>
<input id="test" name="test" type="text">
<input id="test2" name="test2" type="text">
<input id="test3" name="test3" type="text">
示例 2 - 不起作用
<script>
$(document).ready(function(){
var ms = +new Date;
var ms2 = $(ms).text.match(new RegExp('.{1,4}', 'g')).join("-"));
var ms3 = $(ms2).text.split('').reverse().join('');
$('#test4').val(ms3);
});
</script>
<input id="test4" name="test4" type="text">
问题是 match
函数是一个字符串函数,但您将 ms
变量转换为数字。
这是修改后的代码,可以正常工作,还有 Working Fiddle
// shorter, conflict-safer document ready function
jQuery(function($) {
// String operations (match) need the variable to be a string
// Cast ms as a string
var ms = '' + +new Date;
ms = ms.match(new RegExp('.{1,4}', 'g')).join("-").split('').reverse().join('');
$('#test').val(ms);
});
虽然这不是创建唯一 ID 的完美解决方案,但使用日期戳将满足我的需要,即无需数据库即可引用通过电子邮件发送的表单提交。两个人在完全相同的毫秒内提交表单的可能性是遥不可及的,如果确实发生了,我可以根据个人电子邮件区分两者。使用 GUID 方法对我的需求(长号)有点过头了。
仅供参考 - 我用连音符拆分了日期戳并将其反转以便于查找。
所以这是我的 jquery 代码,它使用了三个文本框。我想合并代码,所以我只需要使用一个文本框。我在示例 2 中没有成功。任何关于如何执行此操作的 tips/suggestions 将不胜感激。
示例 1 - 有效
<script>
$(document).ready(function(){
var ms = +new Date;
$('#test').val(ms);
var ms2 = $('#test').val();
$('#test2').val(ms2.match(new RegExp('.{1,4}', 'g')).join("-"));
var ms3 = $('#test2').val().split('').reverse().join('');
$('#test3').val(ms3);
});
</script>
<input id="test" name="test" type="text">
<input id="test2" name="test2" type="text">
<input id="test3" name="test3" type="text">
示例 2 - 不起作用
<script>
$(document).ready(function(){
var ms = +new Date;
var ms2 = $(ms).text.match(new RegExp('.{1,4}', 'g')).join("-"));
var ms3 = $(ms2).text.split('').reverse().join('');
$('#test4').val(ms3);
});
</script>
<input id="test4" name="test4" type="text">
问题是 match
函数是一个字符串函数,但您将 ms
变量转换为数字。
这是修改后的代码,可以正常工作,还有 Working Fiddle
// shorter, conflict-safer document ready function
jQuery(function($) {
// String operations (match) need the variable to be a string
// Cast ms as a string
var ms = '' + +new Date;
ms = ms.match(new RegExp('.{1,4}', 'g')).join("-").split('').reverse().join('');
$('#test').val(ms);
});