我有以下正则表达式,只允许使用字母:
/[a-zA-Z]+/
a = "abcDF"
if (a.match(/[a-zA-Z]+/) == a){
//Match
}else{
//No Match
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能使用p {L}(通用 - 任何语言,如德语,英语等...)
我尝试了什么:
a.match(/[p{l}]+/)
a.match(/[\p{l}]+/)
a.match(/p{l}/)
a.match(/\p{l}/)
Run Code Online (Sandbox Code Playgroud)
但是所有字母a ="aB"都返回null
最近我已经创建了一个正则表达式,为我的PHP代码,只允许字母(包括特殊字符加空格),但现在我在使用转换成JavaScript的正则表达式兼容的问题,这里是(?):/^[\s\p{L}]+$/u中,问题是/u正则表达式模式结束时的修饰符,因为JavaScript不允许这样的标志.
我怎样才能重写这个,所以它也适用于JavaScript?
有什么,只允许波兰字符:?,?, ?,?,...
在这里使用jQuery,但无法阻止数字输入到输入字段
http://codepen.io/leongaban/pen/owbjg
输入
<input type="text" name="field" maxlength="8"
title="Only Letters"
value="Type Letters Only"
onkeydown="return alphaOnly(event);"
onblur="if (this.value == '') {this.value = 'Type Letters Only';}"
onfocus="if (this.value == 'Type Letters Only') {this.value = '';}"/>
Run Code Online (Sandbox Code Playgroud)
jQuery的
function alphaOnly(event) {
alert(event);
var key;
if (window.event) {
key = window.event.key;
} else if (e) {
key = e.which;
}
//var key = window.event.key || event.key;
alert(key.value);
return ((key >= 65 && key <= 90) || (key >= 95 && key <= 122));
}
Run Code Online (Sandbox Code Playgroud)
我在这里看到了很多关于如何限制数字的例子,我正在使用正确的密钥代码来表示az和AZ.你看到我做错了吗?
我在简单的正则表达式匹配方面遇到了很多问题.
我有这个带有重音字符的字符串(这只是一个例子)"Botó Entrepà Nadó Facebook! "我希望使用另一个列表中的单词来匹配单词.
这是我的代码的简化版本.例如匹配" Botó"
var matchExpr = new RegExp ('\\b' + 'Botó' + '\\b','i');
"Botó Entrepà Nadó Facebook! ".match(matchExpr);
Run Code Online (Sandbox Code Playgroud)
如果我运行它,它与Botó预期不匹配(Firefox,IE和Chrome).
我认为这是我的错误.但有趣的是......
如果我像这样修改字符串"Botón Entrepà Nadó Facebook! "(请注意" n"之后的" Botó")并运行相同的代码:
var matchExpr = new RegExp ('\\b' + 'Botó' + '\\b','i');
"Botón Entrepà Nadó Facebook! ".match(matchExpr);
Run Code Online (Sandbox Code Playgroud)
它匹配" Botó"!!!! ????? (至少在Firefox中).这对我n来说没有意义,因为" "不是一个单词边界(匹配\b).
如果您尝试匹配整个单词:
var matchExpr = new RegExp ('\\b' + 'Botón' + '\\b','i');
"Botón Entrepà Nadó …Run Code Online (Sandbox Code Playgroud) 我有西班牙语和其他语言的字符串,可能包含通用的特殊字符,如(),*等.我需要删除.但问题是它也可能包含特殊的语言字符,如ñ,á,ó,í等,它们需要保留.所以我试图通过以下方式使用regexp:
var desired = stringToReplace.replace(/[^\w\s]/gi, '');
Run Code Online (Sandbox Code Playgroud)
不幸的是,它删除了所有特殊字符,包括相关语言.不知道如何避免这种情况.也许有人会建议?
寻找一个正则表达式来验证所有可打印字符.正则表达式只需要在JavaScript中使用.我已经阅读了这篇文章,但它主要讨论的是.net,Java和C,但不是JavaScript.
您必须只允许这些可打印字符:
az,AZ,0-9和32个符号:!"#$%&'()*+, - ./:; <=>?@ [] ^ _` {|}〜和空格
需要一个JavaScript正则表达式来验证输入字符是上述之一并丢弃其余的.
我有一个多语种网站(中文和英文).
我喜欢在javascript中验证文本字段(名称字段).到目前为止,我有以下代码.
var chkName = /^[characters]{1,20}$/;
if( chkName.test("[name value goes here]") ){
alert("validated");
}
Run Code Online (Sandbox Code Playgroud)
问题是,/ ^ [字符] {1,20} $ /只匹配英文字符.是否可以匹配任何(包括unicode)字符?我以前使用以下正则表达式,但我不想在每个characeters之间留出空格.
/^(.+){1,20}$/
Run Code Online (Sandbox Code Playgroud) 我希望将下面的拉丁字符包含在JavaScript正则表达式中以进行字符串验证.
ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏàáâãäåæçèéêëìíîïÐÑÒÓÔÕÖØÙÚÛÜÝÞßðñòóôõöøùúûüýþÿ
Run Code Online (Sandbox Code Playgroud)
到目前为止,我只有一个基本的字符串正则表达式.
var stringReg = /[a-zA-Z\-\'\ ]/i;
Run Code Online (Sandbox Code Playgroud)
提前致谢.Smccullough
我正在尝试使用javascript代码在某些文本中查找网址.问题是,我正在使用的正则表达式使用\ w来匹配URL中的字母和数字,但它与非英语字符(在我的情况下是希伯来字母)不匹配.
那么我可以使用什么代替\ w来匹配所有语言中的所有字母?
javascript ×10
regex ×8
unicode ×2
diacritics ×1
hebrew ×1
input ×1
input-field ×1
jquery ×1
match ×1
php ×1
string ×1
validation ×1