文字列フィールドを検証して特定の文字をチェックし、いずれかが存在する場合はエラーを発生させようとしています。これは私が使用している正規表現です:それはすべて含まれた文字のために完璧に働いている差異 - と - と 'と'または 'と'と
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
var regex = /^[^'\\\/\:\*\?"<>\|-]*$/;
var ans = g_form.getValue('u_native_renaming_suffix');
if(!regex.test(ans)){
alert('Please enter valid string');
return;
}
}
ただし、ハイフン(–
)または曲線美単一または二重引用符を伸長したときに次のように
var regex = /^[^'\\\/\:\*\?"<>\|-]*$/; // In ServiceNow
ServiceNow
プラットフォーム内のJavaScriptコードがあります。 (“
,通常のハイフンや引用符の代わりに、この検証は機能しません(MS Wordのようなアプリで見つけられる)。つまり、通常のハイフンや引用符を使用するとエラーが発生しますが、細長いハイフンや曲面の引用符を使用した場合はエラーになりません。
私も、正規表現に新しい文字をコピーペーストしてみましたが、彼らはただすなわち、交換または通常のものとして扱われている:
/^[^'’\\\/\:*\?"”<>\|-–]*$/
が
/^[^''\\\/\:*\?""<>\|-–]*$/
に変身私はセーブしました。
これらの3文字についても検証を組み込むにはどうすればよいですか?
文字をコピーして貼り付けようとしたときに提案されたソリューションのコードを表示してください。 – Xufox
はい、正規表現がどこで使用されているかの文脈を使わずにコードを提供してください。具体的な回答は難しい – Taegost
私は[正規表現の文字括弧内にハイフンを含める?] http://stackoverflow.com/q/3697202/4642212)。 – Xufox