我知道我可以通过在正则表达式中应用W来验证字符串(0-9 A-Z a-z和下划线),如下所示:
function isValid(str) { return /^\w+$/.test(str); }
但是如何检查字符串是否只包含ASCII字符? (我想我很亲密,但是我错过了什么?)
参考:https://stackoverflow.com/a/8253200/188331
更新:标准字符集足以满足我的需要.
解决方法
所有你需要做的,测试字符在正确的字符范围.
function isASCII(str) { return /^[\x00-\x7F]*$/.test(str); }
或者如果您想要使用扩展ASCII字符集:
function isASCII(str,extended) { return (extended ? /^[\x00-\xFF]*$/ : /^[\x00-\x7F]*$/).test(str); }