在我们的注册表格中,我们现在想让用户输入他们的微博名(例如@paul)。
谁能告诉我哪些字符是允许的?
例如:a-z、A-Z、下划线、0-9。
其他的什么?
I 相信 只有字母、数字和下划线,最多15个字符。
快速搜索后,发现这篇帖子(非微博)也涉及同样的话题。
http:/kagan.mactane.orgblog20090922what-characters-are-allowed-in-twitter-usernames(微博用户名)
上面的帖子还包含了regex的例子,帮助你验证。
Full regex – /^[a-zA-Z0-9_]{1,15}$/
Perl-compatible regex – /^\w{1,15}$/
请查看Twitter的这一网页,了解官方的指导规则。
http:/support.twitter.comarticles101299-why-can-t-i-register-certain-usernames#。
这是最后的JavaScript Funcion。
function validTwitteUser(sn) {
return /^[a-zA-Z0-9_]{1,15}$/.test(sn);
}
对于JavaScript TypeScript。
首先:
npm i twitter-text
# or
yarn add twitter-text
那么
import { isValidUsername } from 'twitter-text'
console.log(isValidUsername('@helloworld')) // true
还有其他的实现(Java, Ruby, ObjC),请看一下。https:/github.comtwittertwitter-text
注意:对于仅仅是一个字符串验证来说,捆绑的大小太大了......。