javascript - JS 短名正则表达式

标签 javascript regex

我对正则表达式很不擅长..

我尝试过不同的方法,但没有任何效果。 :(

我只是想验证某人的短名称是否可以添加为我网站的网址,例如 mysite.com/shortname

为此,我绝对需要确保它不包含空格、重音符号、特殊字符……事实上只是 [a-z]。

我已经尝试过,但没有成功:

 function isShortValid(shortcode){
        var pattern = new RegExp(/^([a-z]?$)/i);
        return pattern.test(shortcode);
    }

最佳答案

您不需要捕获组。只需使用此正则表达式来测试您的字符串即可。

/^[a-z]+$/i

这里更大的问题当然是:

是否可以在系统中输入无效的短名称而不会出现输入验证错误?

因为如果可能的话,那么您将不得不求助于其他一些正则表达式,这些正则表达式将删除您喜欢的无效字符,并在创建 URL 时创建正确的短名称。该 URL 参数当然应该只是一个虚拟段(类似于 stackoverflow)。使用不可更改且不能具有无效值的直接用户 ID 始终是明智之举,因为它们是由系统生成的。

这两个链接的作用相同:

https://stackoverflow.com/users/75642/robert-koritnik
https://stackoverflow.com/users/75642

第一个包含名称,但它是一个虚拟的人类友好 URL 段,可以随时更改。另一方面,ID 将始终保持不变。

如何实例化正则表达式

您可以直接实例化正则表达式

var rx = /^[a-z]+$/i;

或者使用构造函数

var rx = new RegExp("^[a-z]+$", "i");

不要在构造函数初始化中使用斜杠,除非它们是正则表达式的一部分。

关于javascript - JS 短名正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4723978/

相关文章:

python - 从散文中拆分句子

javascript - 正则表达式匹配不是由所有相同号码组成的电话号码

javascript - 匹配捕获组或在 Javascript 正则表达式中丢失时匹配失败

javascript - 滚动直到元素位于 DOM 中

javascript - SAPUI5 表上的绑定(bind)行

javascript - 边框布局中的折叠面板 : Permanent expand on title-click

java - 带有 GWT Sprite 的视网膜图像?

regex - 将所有以 0x 开头的请求重定向到index.html

java - 使用正则表达式在匹配字符串之前或末尾插入字符串

javascript - vuetifyjs-nuxt : can not add any UI component