我有一个输入,保存优惠券的代码.用户可以填写自定义代码,但我想给他们一个默认代码.我现在有以下代码:
<input type="text" name="code" value="{{ form.code|default(RANDOM_CODE) }}">
Run Code Online (Sandbox Code Playgroud)
我想用RANDOM_CODE随机字符串替换.
我认为这与问题无关,但form.code包含原始优惠券代码.我使用相同的表格进行编辑.
根据Twig文档,可以使用random(),甚至从字符串中获取随机字符来生成随机数random('abcdefgh...'),但我想生成一个具有特定长度的随机字符串.
我知道我可以使用至少两种方法做到这一点:
知道如果有一种方法只使用Twig的内置函数生成随机字符串,我很好奇.
Rya*_*yan 11
此代码将在base64中生成一个10个字符的密码(A到Z的大小写,0到9,短划线和下划线).这也使它对网友好.如果您愿意,可以根据自己的喜好更改参数.
{% set randomPassword = [] %}
{% set alpha = 'abcdefghijklmnopqrstuvwxyz' %}
{% set numbers = '0123456789' %}
{% for i in 1..10 %}
{% set randomCharacter = random(alpha ~ alpha|upper ~ numbers ~ '-_') %}
{% set randomPassword = randomPassword|merge([randomCharacter]) %}
{% endfor %}
{% set randomPassword = randomPassword|join %}
{{ randomPassword }}
Run Code Online (Sandbox Code Playgroud)
树枝原生:
{{ random() }}
Run Code Online (Sandbox Code Playgroud)
请访问以下链接获取 Twig 文档。[检查]: https: //twig.symfony.com/doc/3.x/functions/random.html