如何将应用程序的数据输入语言限制为英语(或拉丁字母)
How to restrict the data input language for applications to ENGLISH (or Latin alphabet).?
我正在使用jquery使用以下代码来限制语言,当我们输入英语以外的语言时,我无法显示警告消息。
<apex:page controller="testcontroller">
<head>
<apex:includeScript value="{!URLFOR($Resource.Jquery)}" />
<script type="text/javascript">
$(document).ready(function() {
$('#Demo').bind('keyup blur', function() {
$(this).val($(this).val().replace(/[^A-Za-z $]/g, ''))
var regex = new RegExp("[^a-zA-Z]+$");
if(!$(this).value().match(regex)){
alert('Invalid Character usage. Please Use English characters only.');
return false;
}
});
});
</script>
</head>
<apex:form lang="en">
<input Type="Text" id="Demo"/>
</apex:form>
您在以下行中有一个错误:
if(!$(this).value().match(regex)){
使用.val()
而不是.value()
我认为你的逻辑不太正确。 此行
$(this).val($(this).val().replace(/[^A-Za-z $]/g, ''))
将用"替换所有非拉丁字符(即无字符)。 但是,在测试该条件并尝试提醒用户之前,请执行此操作。
那么这条线
var regex = new RegExp("[^a-zA-Z]+$");
我认为应该匹配整个单词中的非拉丁字符,但只有在单词末尾正好有一个非拉丁字符(用 $ 符号表示)时才匹配。 但是,它永远不会匹配,因为您已经删除了所有非拉丁字符。
我认为您最好尝试以下方法,我假设您的意图是对字符串发出警报,然后删除无效字符:
$(document).ready(function() {
$('#Demo').bind('keyup blur', function() {
if($(this).val().match(/[^A-Za-z ]/g)){
// Pop alert
alert('Invalid Character usage. Please Use English characters only.');
//Replace all the invalid characters with empty string
$(this).val($(this).val().replace(/[^A-Za-z ]/g, ''))
return false;
}
});
});
JS小提琴的例子: http://jsfiddle.net/ozeu91yg/6/您可能还想玩其他角色 - 例如,我保留了允许空格的正则表达式的原始形式。 是否还允许使用连字符? 全是空白?等等。 玩转 - 允许 [] 括号内的任何内容。
编辑
刚刚发现这也是一个重复的问题 - 例如,请参阅 JavaScript 正则表达式(字符串应仅包含字母、空格、连字符)......
相关文章:
- 在List.js中使用非英语字符
- 提取大写字母 ( 英语 ) |首选方法
- 如何检查字符串是否包含非英语字符列表
- 如何在Javascript中混合使用英语和汉语进行字数统计
- 保存cookie数据,字符串语言不是英语
- 如何在javascript中按正确的顺序连接波斯语字符和英语字符
- 如何将谷歌自动完成表单的语言设置为英语
- 当区域设置设置为另一种语言时,如何从 momentjs 对象获取英语值
- 如何将应用程序的数据输入语言限制为英语(或拉丁字母)
- 获取英语以外的用户输入
- 强制将输入元素的语言切换为英语
- 为给定数量的空格查找可能数量的有意义的英语单词
- 如何在 Javascript 中解析非英语文本日期
- 谷歌翻译将英语设置为默认,以便在翻译回来时
- amCharts - 如何使用非英语日历
- 用于使用 KNOCKOUTJS 验证输入文本框中非英语字符的自定义规则
- 将JSreport与其他语言(非英语)一起使用
- JavaScript 复数英语字符串
- 如何在 HTML 文本区域中启用非英语字符的键入
- 如何排除特殊字符并允许西班牙语/英语字母