【发布时间】:2014-08-05 10:14:04
【问题描述】:
我的 JavaScript 很生锈,所以任何帮助都会很棒。我需要检测不可打印的字符(控制字符,如 SOH、BS 等)以及扩展的 ascii 字符(如字符串中的 Ž)并删除它们,但我不知道如何编写代码?
任何人都可以为我指出正确的方向吗?这是我目前所拥有的:
$(document).ready(function() {
$('.jsTextArea').blur(function() {
var pattern = /[^\000-\031]+/gi;
var val = $(this).val();
if (pattern.test(val)) {
for (var i = 0; i < val.length; i++) {
var res = val.charAt([i]);
alert("Character " + [i] + " " + res);
}
}
else {
alert("It failed");
}
});
});
【问题讨论】:
-
match属性应该像这样调用:isNonAscii.match($(this).val())。程序不会神奇地知道您想将输入的值与正则表达式匹配。 -
感谢您的意见。有道理,但是如何删除从文本框中的字符串中检测到的无效字符?
-
我决定改变我的方法并采用服务器端解决方案(因为有时可以在客户端浏览器中关闭 javascript)
-
@GrantDoole:不要通过完全更改问题的代码来使现有答案无效。
标签: javascript regex control-characters