Regex:只有字母数字,但如果这是纯数字,则不能
Regex: only alphanumeric but not if this is pure numeric
例如:
'1' => NG
'243' => NG
'1av' => OK
'pRo' => OK
'123k%' => NG
我试过
/^(?=^[^0-9]*$)(?=[a-zA-Z0-9]+)$/
但效果不太好。
使用
/^(?![0-9]*$)[a-zA-Z0-9]+$/
此表达式具有一个负前瞻,用于验证字符串不仅仅是数字。使用RegExr查看它的实际操作。
所以我们知道在某个地方必须至少有一个"字母"字符:
[a-zA-Z]
它的前面或后面可以有任意数量的字母数字字符(包括零),所以我们在两边加上[a-zA-Z0-9]*
:
/^[a-zA-Z0-9]*[a-zA-Z][a-zA-Z0-9]*$/
这就行了。
试试这个:
/^(?!^'d*$)[a-zA-Z'd]*$/
编辑:由于这基本上与公认的答案相同,我会给你一些不同的东西:
/^'d*[a-zA-Z][a-zA-Z'd]*$/
没有lookahead,没有重复的复杂组,它只是验证至少有一个字母字符。这应该很快。
尝试使用此:^(?!'d+'b)[a-zA-Z'd]+$
(?!'d+'b)
将避免纯数字,添加''w+,然后混合字母表和数字。
这应该可以完成任务,而不需要查找:
^('d*[a-zA-Z]'d*)+$
试试这个:^[a-zA-Z0-9]*[a-zA-Z]+[a-zA-Z0-9]*$
这是严格的字母数字
String name="^[^a-zA-Z]''d*[a-zA-Z][a-zA-Z''d]*$";
相关文章:
- node.js可以识别字符模式,但不能识别数字模式
- 为什么可以对整数变量调用toString(),而不能对文字数字调用
- D3 图表过渡要么获得正确的数字或宽度,但不能同时获得两者
- Regex:只有字母数字,但如果这是纯数字,则不能
- 不能同时通过类和数字 ID 选择 jquery 元素
- 如何验证文本框,使我不能输入零作为第一个数字
- Javascript 为什么我不能使用这样的数组,以及如何使用计算出的数字访问数组
- 下拉列表创建订单,不能在每个下拉列表中选择相同的数字
- 不能在 Javascript 中的数字常量上调用 toString()
- 为什么我不能使用这个数组中的长度数字
- Jquery可以发布带逗号的数字,但不能用点发布
- 检查一个数字是否可以被另一个数字整除 如果不能,则使其在 Javascript 中可整除
- 为什么jQuery不能准确地动画数字
- 文本框接受字符和数字或字母,但不能只接受数字
- 为什么对于可被10整除的数字,字符串到int之间的转换不能像预期的那样工作
- 不能比较数组值,如果它不是数字
- 我不能得到缩略图在Jquery循环插件,只有文本数字
- ' toFixed() '对某些数字不能正常工作
- 同时确保数字不能再被分割
- Javascript数字大于数字不能返回正确的结果